From 6c90d76f1055284bf77efed0170f75e0ada17d13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ign=C3=A1cio=20Fontoura=20Solla?= Date: Fri, 31 Jul 2026 21:09:20 -0300 Subject: [PATCH] test: pin exported skip predicates so knip stays clean --- tests/unit/ciSkipInvariants.unit.spec.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/unit/ciSkipInvariants.unit.spec.ts b/tests/unit/ciSkipInvariants.unit.spec.ts index 6528d67c..4e26179a 100644 --- a/tests/unit/ciSkipInvariants.unit.spec.ts +++ b/tests/unit/ciSkipInvariants.unit.spec.ts @@ -13,16 +13,31 @@ import { CANONICAL_E2E_TEST_DIR, CANONICAL_INT_INCLUDE, CANONICAL_UNIT_INCLUDE, + E2E_MANIFEST_DOMAIN_EXEMPT, findMisplacedSpecPaths, findUncoveredE2eDomainPrefixes, HIGH_RISK_EXACT, + isBuildPath, isCanonicalSpecPath, + isCodePath, + isHighRisk, isMisplacedSpecPath, + isSrcPath, + isTestPath, } from '../../scripts/lib/test-affected-core.mjs' const repoRoot = join(fileURLToPath(new URL('.', import.meta.url)), '../..') describe('ciSkipInvariants', () => { + it('exports shared path predicates used by classifiers and the lint guard', () => { + expect(isSrcPath('src/lib/x.ts')).toBe(true) + expect(isTestPath('tests/unit/x.unit.spec.ts')).toBe(true) + expect(isCodePath('tsconfig.json')).toBe(true) + expect(isBuildPath('public/favicon.ico')).toBe(true) + expect(isHighRisk('src/migrations/x.ts')).toBe(true) + expect(E2E_MANIFEST_DOMAIN_EXEMPT.has('shared')).toBe(true) + }) + it('rejects misplaced *.spec|*.test files outside the three canonical trees', () => { expect(isCanonicalSpecPath('tests/unit/foo.unit.spec.ts')).toBe(true) expect(isCanonicalSpecPath('tests/unit/foo.unit.spec.tsx')).toBe(true)