test.govlab/docs/core/selectors/metadata.selector.test.ts
test.govlab/docs/core/selectors/metadata.selector.test.ts is a file in Codebase Testing. 29 lines of code and 0 definitions.
import { describe, expect, it } from "vitest";
import { docBasename, docStem, spineProfileFor, stemParts } from "@govlab/docs/core/selectors/metadata.selector.ts";
const PROFILE = { keys: ["name", "description"], prefix: "agents/", requireFrontmatter: true, requireTitle: false };
describe("spineProfileFor", () => {
it("uses the harness profile under the harness root and the default spine elsewhere", () => {
const context = { harnessProfiles: [PROFILE], harnessRoot: ".harness/" };
expect(spineProfileFor(".harness/agents/a.md", context)).toStrictEqual({
keys: ["name", "description"],
requireFrontmatter: true,
requireTitle: false,
});
expect(spineProfileFor("docs/a.md", context).requireTitle).toBe(true);
expect(spineProfileFor("docs/a.md", { harnessProfiles: [], harnessRoot: null }).requireFrontmatter).toBe(true);
});
});
describe("docBasename and docStem", () => {
it("read the filename and its stem from a posix path", () => {
expect(docBasename("a/b/c.guide.md")).toBe("c.guide.md");
expect(docStem("a/b/c.guide.md")).toBe("c.guide");
expect(docStem("LICENSE")).toBe("LICENSE");
});
});
describe("stemParts", () => {
it("strips the form tag, then splits the member from the name", () => {
expect(stemParts("scale-docs.govlab.guide", "guide")).toStrictEqual({ member: "govlab", name: "scale-docs" });
expect(stemParts("scale-docs.guide", "guide")).toStrictEqual({ name: "scale-docs" });
expect(stemParts("notes")).toStrictEqual({ name: "notes" });
});
});