Files
immich/server/src/utils/workflow.spec.ts
T
2026-05-29 14:02:07 -04:00

38 lines
1.1 KiB
TypeScript

import { WorkflowTrigger } from '@immich/plugin-sdk';
import { WorkflowType } from 'src/enum';
import { isMethodCompatible } from 'src/utils/workflow';
const tests: Array<{ trigger: WorkflowTrigger; types: WorkflowType[]; expected: boolean }> = [
{
trigger: WorkflowTrigger.AssetCreate,
types: [WorkflowType.AssetV1],
expected: true,
},
{
trigger: WorkflowTrigger.AssetCreate,
types: [WorkflowType.AssetPersonV1],
expected: true,
},
{
trigger: WorkflowTrigger.PersonRecognized,
types: [WorkflowType.AssetPersonV1],
expected: true,
},
{
trigger: WorkflowTrigger.PersonRecognized,
types: [WorkflowType.AssetV1],
expected: false,
},
{
trigger: WorkflowTrigger.PersonRecognized,
types: [WorkflowType.AssetV1, WorkflowType.AssetPersonV1],
expected: true,
},
];
describe(isMethodCompatible.name, () => {
it.each(tests)('should return $expected for trigger $trigger with types $types', ({ trigger, types, expected }) => {
expect(isMethodCompatible({ types }, trigger)).toBe(expected);
});
});