You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
1018 B

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);
});
});