import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { enableTestModeEnv, disableTestModeEnv } from "@/services/test/test-mode-env"; import { runWorkbenchSuite } from "@/services/test/workbench-suite"; import { loadEmailFixtureMetas } from "@/services/test/email-fixture-library"; describe("workbench suite", () => { beforeEach(() => { enableTestModeEnv(); }); afterEach(() => { disableTestModeEnv(); }); it("lists >=15 fixture metas without materializing 20MB att", async () => { const metas = await loadEmailFixtureMetas(); expect(metas.length).toBeGreaterThanOrEqual(15); expect(metas.some((m) => m.id === "01-normal-forecast")).toBe(true); }); it("extract + fault matrix all pass (no DB pipeline)", async () => { const report = await runWorkbenchSuite({ pipeline: false }); const fails = report.cases.filter((c) => !c.ok); expect(fails, JSON.stringify(fails)).toEqual([]); expect(report.passed).toBeGreaterThanOrEqual(15 + 6); }); });