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

> 16 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-rules-shared-loaders-barrel-loader-test-ts
Source text: https://banes-lab.com/source/testing/test.rules/shared/loaders/barrel.loader.test.ts.txt

Listed in [test.rules/shared/loaders](https://banes-lab.com/api/source/testing/test.rules/shared/loaders.md), before [test.rules/shared/loaders/document.loader.test.ts](https://banes-lab.com/source/testing/test.rules/shared/loaders/document.loader.test.ts.md).

## Contained in

- [test.rules/shared/loaders](https://banes-lab.com/anatomy/testing/folder-testing-test-rules-shared-loaders.md)

## Source

```typescript
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);
    });
});
```
