import { describe, expect, it } from "vitest" ;
import { buildQaCoverageInventory, renderQaCoverageMarkdownReport } from "./coverage-report.js" ;
import { readQaScenarioPack } from "./scenario-catalog.js" ;
describe("qa coverage report" , () => {
it("groups scenario coverage metadata by theme and surface" , () => {
const inventory = buildQaCoverageInventory(readQaScenarioPack().scenarios);
expect(inventory.scenarioCount).toBeGreaterThan(0 );
expect(inventory.coverageIdCount).toBeGreaterThan(0 );
expect(inventory.primaryCoverageIdCount).toBeGreaterThan(0 );
expect(inventory.secondaryCoverageIdCount).toBeGreaterThan(0 );
expect(inventory.overlappingCoverage.length).toBeGreaterThan(0 );
expect(inventory.missingCoverage).toEqual([]);
expect(inventory.byTheme.memory.some((feature) => feature.id === "memory.recall" )).toBe(true );
expect(inventory.bySurface.memory.some((feature) => feature.id === "memory.recall" )).toBe(true );
});
it("renders a compact markdown inventory" , () => {
const report = renderQaCoverageMarkdownReport(
buildQaCoverageInventory(readQaScenarioPack().scenarios),
);
expect(report).toContain("# QA Coverage Inventory" );
expect(report).toContain("- Missing coverage metadata: 0" );
expect(report).toContain("- Overlapping coverage IDs:" );
expect(report).toContain("memory.recall" );
expect(report).toContain("primary: memory-recall (qa/scenarios/memory/memory-recall.md)" );
expect(report).toContain("secondary: active-memory-preprompt-recall" );
});
});
Messung V0.5 in Prozent C=99 H=97 G=97
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland