30 lines
1020 B
TypeScript
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');
|
|
});
|
|
});
|