refactor(breadcrumbs): extract callback route renderers into mapped groups

This commit is contained in:
2026-04-09 14:57:47 +01:00
parent 0cd78e6f46
commit 0b905f9374
6 changed files with 159 additions and 50 deletions
@@ -60,6 +60,9 @@ test("buildBreadcrumbRendererMaps returns grouped maps in explicit precedence or
const newAppealRouteRenderersByPath = {
"/eta": () => "eta"
};
const callbackRouteRenderersByPath = {
"/theta": () => "theta"
};
const caseDetailRouteRenderersByPath = {
"/delta": () => "delta"
};
@@ -72,12 +75,13 @@ test("buildBreadcrumbRendererMaps returns grouped maps in explicit precedence or
simpleLinkTextPairRenderersByPath,
simpleMyPortalRouteRenderersByPath,
newAppealRouteRenderersByPath,
callbackRouteRenderersByPath,
caseDetailRouteRenderersByPath,
detailAndAccountRouteRenderersByPath
});
assert.ok(Array.isArray(result), "Expected grouped maps array");
assert.strictEqual(result.length, 6, "Expected six grouped route maps");
assert.strictEqual(result.length, 7, "Expected seven grouped route maps");
assert.strictEqual(
result[0],
simpleRouteRenderersByPath,
@@ -100,13 +104,18 @@ test("buildBreadcrumbRendererMaps returns grouped maps in explicit precedence or
);
assert.strictEqual(
result[4],
caseDetailRouteRenderersByPath,
"Expected case detail route renderers fifth"
callbackRouteRenderersByPath,
"Expected callback route renderers fifth"
);
assert.strictEqual(
result[5],
caseDetailRouteRenderersByPath,
"Expected case detail route renderers sixth"
);
assert.strictEqual(
result[6],
detailAndAccountRouteRenderersByPath,
"Expected detail and account route renderers sixth"
"Expected detail and account route renderers seventh"
);
});
@@ -126,6 +135,7 @@ test("resolveMappedRouteRenderer returns renderer from first matching grouped ma
},
simpleMyPortalRouteRenderersByPath: {},
newAppealRouteRenderersByPath: {},
callbackRouteRenderersByPath: {},
caseDetailRouteRenderersByPath: {},
detailAndAccountRouteRenderersByPath: {}
});
@@ -153,6 +163,7 @@ test("resolveMappedRouteRenderer returns renderer from later grouped map when ea
},
simpleMyPortalRouteRenderersByPath: {},
caseDetailRouteRenderersByPath: {},
callbackRouteRenderersByPath: {},
detailAndAccountRouteRenderersByPath: {
"/account/personaldetails": detailRenderer
}
@@ -178,6 +189,7 @@ test("resolveMappedRouteRenderer returns null for unmapped path", () => {
simpleLinkTextPairRenderersByPath: {},
simpleMyPortalRouteRenderersByPath: {},
newAppealRouteRenderersByPath: {},
callbackRouteRenderersByPath: {},
caseDetailRouteRenderersByPath: {},
detailAndAccountRouteRenderersByPath: {}
});
@@ -206,6 +218,7 @@ test("resolveMappedRouteRenderer skips invalid map entries and non-function rend
"/known": validRenderer
},
newAppealRouteRenderersByPath: undefined,
callbackRouteRenderersByPath: {},
caseDetailRouteRenderersByPath: {},
detailAndAccountRouteRenderersByPath: {}
});