test: tighten unit vitest config assertions

This commit is contained in:
Peter Steinberger
2026-05-09 10:45:04 +01:00
parent d479216d92
commit ff3cb2930f

View File

@@ -87,14 +87,15 @@ describe("unit vitest config", () => {
it("keeps acp and ui tests out of the generic unit lane", () => {
const unitConfig = createUnitVitestConfig({});
const testConfig = requireTestConfig(unitConfig);
expect(testConfig.exclude).toEqual(expect.arrayContaining(["extensions/**", "test/**"]));
expect(testConfig.include).not.toEqual(
expect.arrayContaining([
"ui/src/ui/app-chat.test.ts",
"ui/src/ui/chat/**/*.test.ts",
"ui/src/ui/views/chat.test.ts",
]),
);
expect(testConfig.exclude).toContain("extensions/**");
expect(testConfig.exclude).toContain("test/**");
for (const pattern of [
"ui/src/ui/app-chat.test.ts",
"ui/src/ui/chat/**/*.test.ts",
"ui/src/ui/views/chat.test.ts",
]) {
expect(testConfig.include).not.toContain(pattern);
}
});
it("narrows the active include list to CLI file filters when present", () => {
@@ -126,35 +127,27 @@ describe("unit vitest config", () => {
},
);
const testConfig = requireTestConfig(unitConfig);
expect(testConfig.exclude).toEqual(
expect.arrayContaining(["src/commands/**", "src/config/**", "src/security/**"]),
);
expect(testConfig.exclude).toContain("src/commands/**");
expect(testConfig.exclude).toContain("src/config/**");
expect(testConfig.exclude).toContain("src/security/**");
});
it("scopes default coverage to source files owned by the unit lane", () => {
const unitConfig = createUnitVitestConfig({});
const testConfig = requireTestConfig(unitConfig);
const coverageInclude = testConfig.coverage?.include;
expect(coverageInclude).toEqual(
expect.arrayContaining([
"src/commitments/runtime.ts",
"src/media-generation/runtime-shared.ts",
"src/web-search/runtime.ts",
]),
);
expect(coverageInclude).not.toEqual(
expect.arrayContaining(["src/markdown/render.ts", "src/security/audit-workspace-skills.ts"]),
);
expect(coverageInclude).toContain("src/commitments/runtime.ts");
expect(coverageInclude).toContain("src/media-generation/runtime-shared.ts");
expect(coverageInclude).toContain("src/web-search/runtime.ts");
expect(coverageInclude).not.toContain("src/markdown/render.ts");
expect(coverageInclude).not.toContain("src/security/audit-workspace-skills.ts");
});
it("derives default coverage includes from non-fast unit tests with sibling source files", () => {
expect(resolveDefaultUnitCoverageIncludePatterns()).toEqual(
expect.arrayContaining([
"packages/memory-host-sdk/src/host/embeddings.ts",
"src/commitments/store.ts",
"src/tools/planner.ts",
]),
);
const coverageInclude = resolveDefaultUnitCoverageIncludePatterns();
expect(coverageInclude).toContain("packages/memory-host-sdk/src/host/embeddings.ts");
expect(coverageInclude).toContain("src/commitments/store.ts");
expect(coverageInclude).toContain("src/tools/planner.ts");
});
it("leaves coverage include filters unset for explicit unit include lists", () => {
@@ -187,15 +180,11 @@ describe("unit vitest config", () => {
"src/plugin-sdk/facade-runtime.test.ts",
"src/plugins/loader.test.ts",
]);
expect(testConfig.exclude).not.toEqual(
expect.arrayContaining([
"src/infra/**",
"src/plugin-sdk/**",
"src/plugins/**",
"src/infra/matrix-plugin-helper.test.ts",
"src/plugin-sdk/facade-runtime.test.ts",
"src/plugins/loader.test.ts",
]),
);
expect(testConfig.exclude).not.toContain("src/infra/**");
expect(testConfig.exclude).not.toContain("src/plugin-sdk/**");
expect(testConfig.exclude).not.toContain("src/plugins/**");
expect(testConfig.exclude).not.toContain("src/infra/matrix-plugin-helper.test.ts");
expect(testConfig.exclude).not.toContain("src/plugin-sdk/facade-runtime.test.ts");
expect(testConfig.exclude).not.toContain("src/plugins/loader.test.ts");
});
});