test.content/core/loaders/coordination.loader.test.ts
test.content/core/loaders/coordination.loader.test.ts is a file in Codebase Testing. 44 lines of code and 0 definitions.
import { describe, expect, it } from "vitest";
import { mkdirSync, mkdtempSync, rmSync } from "node:fs";
import {
packageFiles,
packagePath,
populatedFolders,
shippedEntries,
} from "@banes-lab/content/core/loaders/coordination.loader.ts";
import { join } from "node:path";
import { tmpdir } from "node:os";
import { writeVerbatim } from "@govlab/canonical-write";
const seeded = function seeded(): string {
const root = mkdtempSync(join(tmpdir(), "coordination-"));
mkdirSync(join(root, "roles"));
mkdirSync(join(root, "findings"));
mkdirSync(join(root, "node_modules"));
writeVerbatim(join(root, "package.json"), JSON.stringify({ files: ["README.md", "roles", "findings", "gone.md"] }));
writeVerbatim(join(root, "README.md"), "a readme\n");
writeVerbatim(join(root, "roles", ".gitkeep"), "");
writeVerbatim(join(root, "findings", "a.finding.md"), "a deployment's finding\n");
writeVerbatim(join(root, "findings", "image.png"), "binary\n");
writeVerbatim(join(root, "node_modules", "dependency.ts"), "a dependency\n");
return root;
};
describe("coordination loader", () => {
it("reads the ship list from the manifest and drops entries that do not exist", () => {
const root = seeded();
const entries = shippedEntries(root);
rmSync(root, { force: true, recursive: true });
expect(entries).toStrictEqual(["package.json", "README.md", "roles", "findings"]);
});
it("walks the text files the package ships and nothing it does not", () => {
const root = seeded();
const files = packageFiles(root).map((file) => packagePath(root, file));
rmSync(root, { force: true, recursive: true });
expect(files).toStrictEqual(["findings/a.finding.md", "package.json", "README.md"]);
});
it("reports a born-empty folder holding more than its keep file", () => {
const root = seeded();
const populated = populatedFolders(root);
rmSync(root, { force: true, recursive: true });
expect(populated).toStrictEqual(["findings/a.finding.md", "findings/image.png"]);
});
});