41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
import assert from "node:assert/strict";
|
|
import { buildFindings, createFileRecord } from "../scripts/core/finding-engine.js";
|
|
import { createFileLocator } from "../scripts/core/path-utils.js";
|
|
|
|
const files = [
|
|
createFileRecord(createFileLocator("data", "modules/legacy-module/icons/token.webp"), 1234)
|
|
];
|
|
|
|
const references = [
|
|
{
|
|
sourceType: "world-document",
|
|
sourceScope: { ownerType: "world", ownerId: "demo-world", systemId: "demo-system", subtype: "actors" },
|
|
sourceLabel: "Actor demo",
|
|
normalized: {
|
|
...createFileLocator("data", "modules/legacy-module/icons/token.webp"),
|
|
targetKind: "local-file"
|
|
}
|
|
}
|
|
];
|
|
|
|
const packageActivity = {
|
|
modules: new Map(),
|
|
moduleLabels: new Map()
|
|
};
|
|
|
|
const result = buildFindings({ files, references, packageActivity, i18n: { format: (key, data={}) => `${key}:${data.modules ?? ""}` } });
|
|
|
|
assert.equal(
|
|
result.findings.some(finding => finding.kind === "non-package-to-package-reference"),
|
|
false,
|
|
"world references into module folders that Foundry does not recognize should not be reported as unanchored package targets"
|
|
);
|
|
|
|
assert.equal(
|
|
result.notices.some(notice => notice.kind === "missing-module-references" && notice.moduleIds.includes("legacy-module")),
|
|
true,
|
|
"missing module references should create a dedicated report notice"
|
|
);
|
|
|
|
console.log("missing-module-reference-test: ok");
|