import { buildSidebarItems, navPageFor } from './navigation'; describe('buildSidebarItems', () => { it('без проекта в меню только главная', () => { expect(buildSidebarItems(undefined).map((item) => item.id)).toEqual(['hub']); }); it('с проектом — все разделы', () => { expect(buildSidebarItems('5').map((item) => item.id)).toEqual([ 'hub', 'objects', 'reports', 'report', 'import', 'resources', 'binder' ]); }); it('недоступные разделы скрываются, главная остаётся всегда', () => { const onlyReports = (page: string): boolean => page === 'reports'; expect(buildSidebarItems('5', onlyReports).map((item) => item.id)).toEqual(['hub', 'reports']); }); }); describe('navPageFor', () => { it('работы подсвечивают пункт «Объекты»', () => { expect(navPageFor('works')).toEqual('objects'); }); it('остальные разделы подсвечивают сами себя', () => { expect(navPageFor('reports')).toEqual('reports'); }); });