feat: establish TypeScript-aware frontend tooling
This commit is contained in:
@@ -6,7 +6,10 @@ import {
|
||||
} from "../../src/application/policies/promotion-readiness.js";
|
||||
|
||||
const allGateIds = Object.values(PROMOTION_FORMULA).flat();
|
||||
const passing = Object.fromEntries(allGateIds.map((gateId) => [gateId, "PASS"]));
|
||||
const passing =
|
||||
/** @type {Record<string, "PASS" | "FAIL" | "UNVERIFIED">} */ (
|
||||
Object.fromEntries(allGateIds.map((gateId) => [gateId, "PASS"]))
|
||||
);
|
||||
|
||||
describe("promotion readiness formula", () => {
|
||||
it("requires every upstream tier before downstream readiness", () => {
|
||||
@@ -30,7 +33,11 @@ describe("promotion readiness formula", () => {
|
||||
...passing,
|
||||
[failedGate]: "FAIL",
|
||||
});
|
||||
expect(result[readiness]).toBe(false);
|
||||
const readinessKey =
|
||||
/** @type {keyof ReturnType<typeof evaluatePromotionReadiness>} */ (
|
||||
readiness
|
||||
);
|
||||
expect(result[readinessKey]).toBe(false);
|
||||
});
|
||||
|
||||
it("does not treat missing or unverified gates as pass", () => {
|
||||
|
||||
Reference in New Issue
Block a user