immich/server/src/utils/workflow.spec.ts
2026-06-10 18:49:33 +02:00

37 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);
});
});