import { describe, it, expect } from "vitest"; import { syntheticScenarios } from "./synthetic"; describe("syntheticScenarios", () => { it("has exactly 4 families: ar, hcm, gl, service", () => { expect(syntheticScenarios.map((s) => s.id).sort()).toEqual(["ar", "gl", "hcm", "service"]); }); it("each scenario is marked live=false and has a representative running step", () => { for (const s of syntheticScenarios) { expect(s.live).toBe(false); expect(s.steps.some((st) => st.state === "running")).toBe(true); } }); it("edges only reference existing step ids", () => { for (const s of syntheticScenarios) { const ids = new Set(s.steps.map((st) => st.id)); for (const e of s.edges) { expect(ids.has(e.source)).toBe(true); expect(ids.has(e.target)).toBe(true); } } }); it("queue items reference real step ids", () => { for (const s of syntheticScenarios) { const ids = new Set(s.steps.map((st) => st.id)); for (const q of s.queue) expect(ids.has(q.stepId)).toBe(true); } }); });