test.govlab/quality/core/validators/css.viewport.validator.test.ts

test.govlab/quality/core/validators/css.viewport.validator.test.ts is a file in Codebase Testing. 27 lines of code and 0 definitions.

import { describe, expect, it } from "vitest";
import { validateWith } from "./validation.fixture.ts";

const RULE = "css-mobile-imports";

describe("the css-mobile-imports validator", () => {
    it("flags an orphaned mobile file with no base", () => {
        const found = validateWith(RULE, [["styles/card-mobile.css", "@media (max-width:600px){.c{color:red}}"]]);
        expect(found).toHaveLength(1);
        expect(found[0]?.message).toContain("no base file");
    });

    it("flags a mobile file that no barrel imports", () => {
        const found = validateWith(RULE, [
            ["styles/card-mobile.css", "@media (max-width:600px){.c{color:red}}"],
            ["styles/card.css", ".c{}"],
            ["styles/index.css", "@import 'card.css';"],
        ]);
        expect(found).toHaveLength(1);
        expect(found[0]?.message).toContain("not @imported");
    });

    it("passes when base exists and mobile is imported", () => {
        const found = validateWith(RULE, [
            ["styles/card-mobile.css", "@media (max-width:600px){.c{}}"],
            ["styles/card.css", ".c{}"],
            ["styles/index.css", "@import 'card.css';\n@import 'card-mobile.css';"],
        ]);
        expect(found).toEqual([]);
    });
});