22541 harden breadcrumb mapped route resolver against invalid entries

This commit is contained in:
2026-04-09 14:45:12 +01:00
parent 2a84056a76
commit 0cd78e6f46
3 changed files with 66 additions and 2 deletions
@@ -191,6 +191,34 @@ test("resolveMappedRouteRenderer returns null for unmapped path", () => {
);
});
test("resolveMappedRouteRenderer skips invalid map entries and non-function renderer values", () => {
const { buildBreadcrumbRendererMaps, resolveMappedRouteRenderer } =
loadHelpers();
const validRenderer = () => "valid";
const maps = buildBreadcrumbRendererMaps({
simpleRouteRenderersByPath: {
"/known": "not-a-function"
},
simpleLinkTextPairRenderersByPath: null,
simpleMyPortalRouteRenderersByPath: {
"/known": validRenderer
},
newAppealRouteRenderersByPath: undefined,
caseDetailRouteRenderersByPath: {},
detailAndAccountRouteRenderersByPath: {}
});
const result = resolveMappedRouteRenderer("/known", maps);
assert.strictEqual(
result,
validRenderer,
"Expected resolver to skip invalid/non-function entries and return first valid renderer"
);
});
const run = async () => {
let passed = 0;