test.govlab/quality/core/resolvers/package.resolver.test.ts
test.govlab/quality/core/resolvers/package.resolver.test.ts is a file in Codebase Testing. 42 lines of code and 0 definitions.
import {
enclosingPackages,
findPackageRoot,
packageRelOf,
packageRootOf,
relFromRoot,
withinPackage,
} from "@govlab/quality/core/resolvers/package.resolver.ts";
import { expect, test } from "vitest";
import { ROOT } from "@ssot/paths/anchor";
import { join } from "node:path";
import { relativePath } from "@ssot/paths";
const memberFile = join(ROOT, relativePath("govlab.quality"), "index.ts");
const memberRel = `${relativePath("govlab.quality")}/index.ts`;
const nestedFile = join(ROOT, relativePath("govlab.utils.argv"), "index.ts");
const coordination = join(ROOT, relativePath("app.coordination")).split("\\").join("/");
test("relFromRoot resolves a file under the workspace root and refuses one outside it", () => {
expect(relFromRoot(memberFile)).toBe(memberRel);
expect(relFromRoot("")).toBeNull();
expect(relFromRoot(join(ROOT, "..", "elsewhere", "a.ts"))).toBeNull();
});
test("packageRelOf resolves the nearest member that declares a package, at any depth", () => {
expect(packageRelOf(memberFile)).toBe(relativePath("govlab.quality"));
expect(packageRelOf(nestedFile)).toBe(relativePath("govlab.utils.argv"));
expect(packageRelOf(join(ROOT, "package.json"))).toBeNull();
});
test("packageRootOf returns the absolute member root and refuses an empty path", () => {
expect(packageRootOf(memberFile)?.endsWith(relativePath("govlab.quality"))).toBe(true);
expect(packageRootOf("")).toBeNull();
});
test("withinPackage returns the path a file occupies inside its own member", () => {
expect(withinPackage(memberFile)).toBe("index.ts");
expect(withinPackage("")).toBeNull();
});
test("findPackageRoot walks up to the folder holding a package manifest", () => {
expect(findPackageRoot(`${coordination}/tools`)).toBe(`${coordination}/tools`);
});
test("enclosingPackages lists each package above a nested one and stops below the workspace root", () => {
const enclosing = enclosingPackages(`${coordination}/tools`);
expect(enclosing[0]).toBe(coordination);
expect(enclosing).not.toContain(ROOT.split("\\").join("/"));
});