diff --git a/src/app/components/layout/layout.component.html b/src/app/components/layout/layout.component.html index 595a71916..735a09135 100644 --- a/src/app/components/layout/layout.component.html +++ b/src/app/components/layout/layout.component.html @@ -16,7 +16,10 @@ - + + diff --git a/src/app/components/layout/sidenav-views-manager.directive.spec.ts b/src/app/components/layout/sidenav-views-manager.directive.spec.ts index b62f743ac..d304cfc8b 100644 --- a/src/app/components/layout/sidenav-views-manager.directive.spec.ts +++ b/src/app/components/layout/sidenav-views-manager.directive.spec.ts @@ -24,9 +24,57 @@ */ import { SidenavViewsManagerDirective } from './sidenav-views-manager.directive'; +import { NavigationEnd } from '@angular/router'; +import { Subject } from 'rxjs'; + +class RouterMock { + private subject = new Subject(); + public events = this.subject.asObservable(); + + navigate(url = '') { + const navigationEnd = new NavigationEnd(0, '', url); + this.subject.next(navigationEnd); + } + + destroy() { + this.subject.next(null); + this.subject.complete(); + this.subject = null; + } +} describe('SidenavViewsManagerDirective', () => { - it('should be defined', () => { - expect(SidenavViewsManagerDirective).toBeDefined(); + let component; + let router; + + beforeEach(() => { + router = new RouterMock(); + component = new SidenavViewsManagerDirective(router, null, null); + }); + + afterEach(() => { + router.destroy(); + }); + + describe('Router events', () => { + it('should set minimizeSidenav to true when url is in minimizeConditions', () => { + router.navigate('/search/'); + expect(component.minimizeSidenav).toBe(true); + }); + + it('should set minimizeSidenav to false when url is not in minimizeConditions', () => { + router.navigate('/somewhere/'); + expect(component.minimizeSidenav).toBe(false); + }); + + it('should set hideSidenav property to true when url is in hideConditions', () => { + router.navigate('/preview/'); + expect(component.hideSidenav).toBe(true); + }); + + it('should set hideSidenav property to false when url is not in hideConditions', () => { + router.navigate('somewhere'); + expect(component.hideSidenav).toBe(false); + }); }); }); diff --git a/src/app/components/preview/preview.component.spec.ts b/src/app/components/preview/preview.component.spec.ts index 54919e392..2379fc6dd 100644 --- a/src/app/components/preview/preview.component.spec.ts +++ b/src/app/components/preview/preview.component.spec.ts @@ -358,7 +358,7 @@ describe('PreviewComponent', () => { it('should navigate to original location if node not found', async () => { spyOn(router, 'navigate').and.stub(); - spyOn(contentApi, 'getNodeInfo').and.returnValue(of(null)); + spyOn(contentApi, 'getNodeInfo').and.returnValue(Promise.reject('error')); component.previewLocation = 'personal-files'; await component.displayNode('folder1');