AI Implementation feature(857): Authenticated Shell: Header, Quick Tabs and Change Password (#14)

This commit was merged in pull request #14.
This commit is contained in:
2026-07-21 22:26:47 +00:00
parent 8dc8cee769
commit b6dbfcc511
46 changed files with 2705 additions and 211 deletions
@@ -0,0 +1,29 @@
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');
});
});