n8n/packages/@n8n/instance-ai/evaluations/__tests__/prebuilt-coverage.test.ts
José Braulio González Valido 23d70d1bb9
feat(ai-builder): Source eval test cases from LangTracer (no-changelog) (#33067)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 10:17:49 +00:00

27 lines
1020 B
TypeScript

import { partitionByPrebuiltCoverage } from '../harness/prebuilt-workflows';
describe('partitionByPrebuiltCoverage', () => {
const cases = [{ fileSlug: 'a' }, { fileSlug: 'b' }, { fileSlug: 'c' }];
it('covers cases with at least one manifest workflow, skips the rest', () => {
const { covered, skipped } = partitionByPrebuiltCoverage(cases, {
a: ['wf1'],
c: ['wf2', 'wf3'],
});
expect(covered.map((x) => x.fileSlug)).toEqual(['a', 'c']);
expect(skipped.map((x) => x.fileSlug)).toEqual(['b']);
});
it('treats an empty id list as not covered', () => {
const { covered, skipped } = partitionByPrebuiltCoverage(cases, { a: [], b: ['wf'] });
expect(covered.map((x) => x.fileSlug)).toEqual(['b']);
expect(skipped.map((x) => x.fileSlug)).toEqual(['a', 'c']);
});
it('skips everything when the manifest covers no selected case', () => {
const { covered, skipped } = partitionByPrebuiltCoverage(cases, { other: ['wf'] });
expect(covered).toEqual([]);
expect(skipped).toHaveLength(3);
});
});