Files
jacob-mathison 47567589e4
ci/woodpecker/push/woodpecker Pipeline was successful
Lint and Build Checks / Lint, Test, and Build (push) Failing after 368h6m42s
feat(toolkit): add structured media authoring
2026-06-24 11:30:26 -05:00

92 lines
2.2 KiB
TypeScript

import {
policyRoutes,
primaryMenuRoutes,
requiredPageRoutes,
toolkitRoutes,
routeDefinitions,
normalizeRouteName,
} from '../src/navigation/routes';
describe('routeDefinitions', () => {
it('defines every required page with labels and titles', () => {
expect(requiredPageRoutes).toEqual([
'home',
'newGame',
'saves',
'settings',
'changelog',
'policiesLegal',
'policiesPrivacy',
'policiesTerms',
'policiesCookies',
'credits',
'gameplay',
'toolkit',
'toolkitOpening',
'toolkitPetitioners',
'toolkitRulings',
'toolkitSeed',
'toolkitResources',
'toolkitMap',
'toolkitFactions',
'toolkitFlags',
'toolkitStory',
'toolkitLore',
'toolkitImages',
'toolkitAudio',
'toolkitCredits',
'toolkitEndings',
'toolkitReferences',
]);
for (const routeName of requiredPageRoutes) {
expect(routeDefinitions[routeName].label.length).toBeGreaterThan(0);
expect(routeDefinitions[routeName].title.length).toBeGreaterThan(0);
}
});
it('exposes home menu and policy submenu routes', () => {
expect(primaryMenuRoutes).toEqual([
'newGame',
'saves',
'settings',
'policies',
'changelog',
'credits',
'toolkit',
]);
expect(policyRoutes).toEqual([
'policiesLegal',
'policiesPrivacy',
'policiesTerms',
'policiesCookies',
]);
expect(toolkitRoutes).toEqual([
'toolkitOpening',
'toolkitPetitioners',
'toolkitRulings',
'toolkitSeed',
'toolkitResources',
'toolkitMap',
'toolkitFactions',
'toolkitFlags',
'toolkitStory',
'toolkitLore',
'toolkitImages',
'toolkitAudio',
'toolkitCredits',
'toolkitEndings',
'toolkitReferences',
]);
});
it('normalizes stale persisted toolkit routes', () => {
expect(normalizeRouteName('toolkitOpeningSequence')).toBe('toolkit');
expect(normalizeRouteName('not-a-route')).toBe('home');
expect(normalizeRouteName('toolkitPetitioners')).toBe('toolkitPetitioners');
expect(normalizeRouteName('toolkitCredits')).toBe('toolkitCredits');
});
});