22541 harden breadcrumb mapped route resolver against invalid entries
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user