92 lines
2.2 KiB
TypeScript
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');
|
|
});
|
|
});
|