test.build/configuration/strings/diagram.strings.test.ts

test.build/configuration/strings/diagram.strings.test.ts is a file in Codebase Testing. 34 lines of code and 0 definitions.

import {
    NO_BROWSER,
    NO_STAGE_PORT,
    STAGE_NOT_READY,
    diagramFailed,
    diagramRelaunch,
    diagramStalled,
    diagramsLine,
    noEndpoint,
    noMarkup,
    stageThrew,
    undeclaredToken,
} from "@banes-lab/build-scripts/configuration/strings/diagram.strings.ts";
import { describe, expect, it } from "vitest";

describe("noEndpoint and diagramsLine", () => {
    it("name the browser state when no endpoint was written, and the count and folder of a render", () => {
        expect(noEndpoint("chrome", "profile", null)).toContain("the browser was still running");
        expect(noEndpoint("chrome", "profile", 1)).toContain("had exited with code 1");
        expect(diagramsLine(2, "diagrams")).toBe("diagrams: rendered 2 diagram(s) into diagrams\n");
    });
});

describe("the diagram render errors", () => {
    it("name the diagram, the token or the stage state each failure is about", () => {
        expect([STAGE_NOT_READY, NO_BROWSER, NO_STAGE_PORT].every((text) => text.startsWith("diagram"))).toBe(true);
        expect(stageThrew("boom")).toBe("diagram: the stage threw: boom");
        expect(diagramFailed(3, "flowchart TD", "boom")).toBe("diagram 3 (flowchart TD): boom");
        expect(noMarkup(3)).toContain("no markup for diagram 3");
        expect(diagramStalled(3, "flowchart TD", 3)).toContain(
            "diagram 3 (flowchart TD): the browser stopped answering",
        );
        expect(diagramRelaunch(3, "no reply")).toContain("relaunching it to resume there");
        expect(undeclaredToken("--ink")).toContain("the token --ink is not declared");
    });
});