test.govlab/pipeline/core/factories/validation.factory.test.ts

test.govlab/pipeline/core/factories/validation.factory.test.ts is a file in Codebase Testing. 24 lines of code and 0 definitions.

import { describe, expect, it } from "vitest";
import { scopeFor, stepLabels } from "./stage.fixture.ts";
import { validationStage } from "@govlab/pipeline/core/factories/validation.factory.ts";

describe("validationStage", () => {
    it("adds the application's validators only when the application is in scope", () => {
        const withApp = validationStage(scopeFor(["app"], false));
        const without = validationStage(scopeFor(["content"], false));
        expect(stepLabels(withApp)).toContain("Validate content leaks");
        expect(stepLabels(without)).toStrictEqual(["Validate spelling"]);
    });

    it("checks the spelling of every scoped member without rewriting, and adds no check with no member", () => {
        const [spelling] = validationStage(scopeFor(["content"], false)).steps;
        const run = spelling !== undefined && "run" in spelling ? spelling.run : "";
        expect(run).toContain("word.entrypoint.ts --check --root ");
        expect(run).toContain("--ext .md");
        const unscoped = validationStage(scopeFor([], false));
        expect(stepLabels(unscoped)).toStrictEqual([]);
    });

    it("runs the validators and the document gate on a full run", () => {
        const labels = stepLabels(validationStage(scopeFor([], true)));
        expect(labels).toContain("Validate config");
        expect(labels).toContain("Validate documents");
    });
});