test.govlab/docs/core/coordinators/figure.coordinator.test.ts

test.govlab/docs/core/coordinators/figure.coordinator.test.ts is a file in Codebase Testing. 25 lines of code and 0 definitions.

import { absolutePath, relativePath } from "@ssot/paths";
import { describe, expect, it } from "vitest";
import { GENERATED_MARK_PREFIX } from "@govlab/canonical-write";
import { renderChartsFor } from "@govlab/docs/core/coordinators/figure.coordinator.ts";
import { validateCharts } from "@govlab/docs/core/validators/diagram.validator.ts";

const CHART_TIMEOUT_MS = 60_000;

describe("renderChartsFor", () => {
    it(
        "renders a module's charts that parse clean, trace to source and repeat byte for byte",
        async () => {
            const dir = absolutePath("govlab.context");
            const charts = await renderChartsFor(dir, "govlab.context");
            const content = charts?.content ?? "";
            expect(content).toContain("```mermaid");
            expect(content).toContain("| Node | Source |");
            expect(content).not.toContain(GENERATED_MARK_PREFIX);
            expect((await validateCharts(content)).findings).toStrictEqual([]);
            expect((await renderChartsFor(dir, "govlab.context"))?.content).toBe(content);
        },
        CHART_TIMEOUT_MS,
    );

    it("renders nothing for a folder with no package and no source", async () => {
        expect(await renderChartsFor(absolutePath("docArch"), relativePath("docArch"))).toBeNull();
    });
});