39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { evaluateFidelity } from "../src/verification/fidelity";
|
|
|
|
describe("fidelity release gate", () => {
|
|
it("passes a complete clone vector", () => {
|
|
expect(
|
|
evaluateFidelity({
|
|
assets: 1,
|
|
responsiveCoverage: 1,
|
|
routeCoverage: 1,
|
|
interactionCoverage: 1,
|
|
workflowCoverage: 1,
|
|
networkContractParity: 1,
|
|
accessibilityPass: true,
|
|
runtimeErrorCount: 0,
|
|
productionBuildPass: true,
|
|
}),
|
|
).toEqual({ passed: true, failures: [] });
|
|
});
|
|
|
|
it("fails rather than averaging away missing behavior", () => {
|
|
const result = evaluateFidelity({
|
|
geometry: 0.999,
|
|
assets: 1,
|
|
responsiveCoverage: 1,
|
|
routeCoverage: 1,
|
|
interactionCoverage: 0.8,
|
|
workflowCoverage: 1,
|
|
networkContractParity: 1,
|
|
accessibilityPass: true,
|
|
runtimeErrorCount: 0,
|
|
productionBuildPass: true,
|
|
});
|
|
|
|
expect(result.passed).toBe(false);
|
|
expect(result.failures.join(" ")).toMatch(/interactionCoverage/);
|
|
});
|
|
});
|