diff --git a/src/app/components/files/files.component.html b/src/app/components/files/files.component.html index 84fe155de..860b8d569 100644 --- a/src/app/components/files/files.component.html +++ b/src/app/components/files/files.component.html @@ -35,6 +35,7 @@ (name-click)="navigateTo($event.detail?.node)" (sorting-changed)="onSortingChanged($event)" (filterSelection)="onFilterSelected($event)" + (error)="onError()" > diff --git a/src/app/components/files/files.component.spec.ts b/src/app/components/files/files.component.spec.ts index 659e2b9d9..e13bbc991 100644 --- a/src/app/components/files/files.component.spec.ts +++ b/src/app/components/files/files.component.spec.ts @@ -51,6 +51,7 @@ describe('FilesComponent', () => { }; let spyContent = null; + let loadFolderByNodeIdSpy: jasmine.Spy; function verifyEmptyFilterTemplate() { const template = fixture.debugElement.query(By.css('.empty-search__block')).nativeElement as HTMLElement; @@ -91,7 +92,7 @@ describe('FilesComponent', () => { const fakeNodeEntry: NodeEntry = { entry: { id: 'fake-node-entry' } } as NodeEntry; const fakeNodePaging: NodePaging = { list: { pagination: { count: 10, maxItems: 10, skipCount: 0 } } }; const documentLoaderNode = { children: fakeNodePaging, currentNode: fakeNodeEntry }; - spyOn(documentListService, 'loadFolderByNodeId').and.returnValue(of(documentLoaderNode)); + loadFolderByNodeIdSpy = spyOn(documentListService, 'loadFolderByNodeId').and.returnValue(of(documentLoaderNode)); uploadService = TestBed.inject(UploadService); router = TestBed.inject(Router); @@ -128,6 +129,16 @@ describe('FilesComponent', () => { expect(component.isValidPath).toBe(true); })); + + it('should set current page as invalid path when loadFolderByNodeId API fails', fakeAsync(() => { + fixture.detectChanges(); + spyContent.and.returnValue(throwError(null)); + loadFolderByNodeIdSpy.and.returnValue(throwError(Error('error'))); + component.documentList.loadFolder(); + tick(); + + expect(component.isValidPath).toBe(false); + })); }); describe('OnInit', () => { diff --git a/src/app/components/files/files.component.ts b/src/app/components/files/files.component.ts index e062a638d..6cb166910 100644 --- a/src/app/components/files/files.component.ts +++ b/src/app/components/files/files.component.ts @@ -344,4 +344,8 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy { isFilterHeaderActive(): boolean { return this.showHeader === ShowHeaderMode.Always; } + + onError() { + this.isValidPath = false; + } }