test.govlab/context/core/formatters/ontology.report.formatter.test.ts
test.govlab/context/core/formatters/ontology.report.formatter.test.ts is a file in Codebase Testing. 31 lines of code and 0 definitions.
import { listDetailLines, targetLines, targetsOf } from "@govlab/context/core/formatters/ontology.report.formatter.ts";
import assert from "node:assert/strict";
import { createGovlabContext } from "@govlab/context";
import { test } from "vitest";
const issues = createGovlabContext().validateResolution();
test("the bundled resolution has no detail lines and no targets", () => {
assert.deepEqual(listDetailLines(issues), []);
assert.deepEqual(targetsOf(issues), []);
assert.deepEqual(targetLines(issues, true), []);
});
test("targets are ranked by how many edges name them", () => {
const planted = {
...issues,
unresolvedArchEdges: [
{ from: "a", relation: "requires", target: "lone" },
{ from: "b", relation: "requires", target: "shared" },
{ from: "c", relation: "enables", target: "shared" },
],
};
assert.deepEqual(targetsOf(planted), [
["shared", ["b.requires", "c.enables"]],
["lone", ["a.requires"]],
]);
assert.ok(targetLines(planted, false).length > 1);
});
test("an untyped record lands in the backlog block of the detail lines", () => {
const planted = { ...issues, reasonNative: { ...issues.reasonNative, untypedRecords: ["planted-record"] } };
const lines = listDetailLines(planted);
assert.equal(lines.length, 2);
assert.ok(lines[1]?.includes("planted-record") === true);
});