test.rules/shared/loaders/barrel.loader.test.ts

test.rules/shared/loaders/barrel.loader.test.ts is a file in Codebase Testing. 16 lines of code and 0 definitions.

import { deriveBarrelPatterns, matchesBarrelPattern } from "@ssot/govlab/shared/loaders/barrel.loader.ts";
import { describe, expect, it } from "vitest";

describe("deriveBarrelPatterns and matchesBarrelPattern", () => {
    const patterns = deriveBarrelPatterns();

    it("derives one pattern per glob barrel under the application member, each with a folder and a suffix", () => {
        expect(patterns.every((pattern) => pattern.dir.endsWith("/") && pattern.suffix.length > 0)).toBe(true);
    });

    it("matches a file by the barrel's folder and suffix and refuses one outside every pattern", () => {
        const [first] = patterns;
        if (first !== undefined) {
            expect(matchesBarrelPattern(`${first.dir}probe${first.suffix}`, patterns)).toBe(true);
        }
        expect(matchesBarrelPattern("elsewhere/probe.unrelated.ts", patterns)).toBe(false);
        expect(matchesBarrelPattern("elsewhere/probe.ts", [])).toBe(false);
    });
});