test.govlab/quality/core/validators/constants.validator.test.ts
test.govlab/quality/core/validators/constants.validator.test.ts is a file in Codebase Testing. 35 lines of code and 0 definitions.
import { describe, expect, it } from "vitest";
import { validateWith } from "./validation.fixture.ts";
const TWO = 2;
describe("the constant-aliases validator", () => {
it("flags a constant that is a bare alias of another declared constant", () => {
const found = validateWith("constant-aliases", [
["a.ts", "export const BASE_URL = 'x';"],
["b.ts", "const API_ROOT = BASE_URL;"],
]);
expect(found).toHaveLength(1);
expect(found[0]?.file).toBe("b.ts");
expect(found[0]?.message).toContain("API_ROOT");
expect(found[0]?.message).toContain("BASE_URL");
});
it("does not flag a value that is not a known constant", () => {
expect(validateWith("constant-aliases", [["a.ts", "const X = someFn();\nconst Y = 3;"]])).toEqual([]);
});
});
describe("the constant-duplicates validator", () => {
it("flags a constant defined with the same value in multiple files", () => {
const found = validateWith("constant-duplicates", [
["a.ts", "const RADIX = 10;"],
["b.ts", "const RADIX = 10;"],
]);
expect(found).toHaveLength(TWO);
expect(found.every((finding) => finding.message.includes("RADIX"))).toBe(true);
});
it("does not flag the same name declared with different values", () => {
const found = validateWith("constant-duplicates", [
["a.ts", "const DEFAULT_LIMIT = 50;"],
["b.ts", "const DEFAULT_LIMIT = 500;"],
]);
expect(found).toEqual([]);
});
});