Files
rea/tests/boundary/inspector/javascriptRuntimeNodeTarget.test.ts
2d11fd92d2 fix(javascript): reconcile Node targets with entry assets (#8670)
* fix(javascript): reconcile Node targets with entry assets

* test(inspector): read reconciled evidence payload

* Update tests/boundary/inspector/javascriptRuntimeNodeTarget.test.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* test(inspector): read the workflow evidence payload

* Update tests/boundary/inspector/javascriptRuntimeNodeTarget.test.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* test(javascript): restore Evidence workflow result access

---------

Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-11-03 08:54:39 +08:00

38 lines
1.4 KiB
TypeScript

import { expect, test } from "vitest";
import { reconcileJavaScriptRuntimeEvidence } from "../../../src/application/javascript/JavaScriptRuntimeReconciliationService.js";
import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascript/javascriptRuntimeReconciliationSchemas.js";
import { nodeReconciliationFixture } from "../../fixtures/nodeRuntimeReconciliation.js";
test.each([false, true])(
"matches a synthetic Node entry target without inventing script presence: %s",
(scriptObserved) => {
const reconciled = reconcileJavaScriptRuntimeEvidence(
nodeReconciliationFixture(scriptObserved),
);
if (!reconciled.ok) throw reconciled.error;
const result = javascriptRuntimeReconciliationResultSchema.parse(
reconciled.value.evidence.normalized_result,
);
const target = result.reconciliations.find(
({ entity_kind }) => entity_kind === "target",
);
expect(target).toMatchObject({
status: "matched",
basis: "artifact-path",
confidence: "medium",
reason: "unique-location-match",
candidate_static_count: 1,
});
expect(
result.graph.nodes.find(
({ node_id }) => node_id === target?.static_node_id,
)?.kind,
).toBe("javascript-asset");
expect(result.summary).toMatchObject({
runtime_scripts: scriptObserved ? 1 : 0,
static_loaded: scriptObserved ? 1 : 0,
static_not_observed: 0,
});
},
);