Files
HIPCTF2/tests/frontend/shell-active-section.spec.ts
T

30 lines
1020 B
TypeScript

import { deriveActiveSectionFromUrl } from '../../frontend/src/app/features/home/home.shell';
describe('deriveActiveSectionFromUrl', () => {
it('returns Scoreboard for /scoreboard', () => {
expect(deriveActiveSectionFromUrl('/scoreboard')).toBe('Scoreboard');
});
it('returns Blog for /blog', () => {
expect(deriveActiveSectionFromUrl('/blog')).toBe('Blog');
});
it('returns Admin for /admin', () => {
expect(deriveActiveSectionFromUrl('/admin')).toBe('Admin');
});
it('returns Challenges for / or /challenges', () => {
expect(deriveActiveSectionFromUrl('/')).toBe('Challenges');
expect(deriveActiveSectionFromUrl('/challenges')).toBe('Challenges');
});
it('ignores query string and hash', () => {
expect(deriveActiveSectionFromUrl('/scoreboard?x=1')).toBe('Scoreboard');
expect(deriveActiveSectionFromUrl('/blog#top')).toBe('Blog');
});
it('falls back to Challenges for empty url', () => {
expect(deriveActiveSectionFromUrl('')).toBe('Challenges');
});
});