From 337ecca4a3910f93c1f8fe740e4cdb1736c70459 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel=20P=C3=A9ter=20Sipos?= Date: Mon, 9 Nov 2020 12:41:03 +0100 Subject: [PATCH] #885 fix tests --- .../media-viewer-image.component.html | 6 +--- .../media-viewer-image.component.spec.ts | 11 ++++++- .../media-viewer-video.component.spec.ts | 12 ++++---- .../media-viewer/media-viewer.component.html | 10 +++---- .../media-viewer.component.spec.ts | 30 ++++++++++++++++++- .../media-viewer/media-viewer.component.ts | 3 +- .../publication/publication.component.html | 2 +- src/environments/mock-environment.ts | 5 ++++ 8 files changed, 60 insertions(+), 19 deletions(-) diff --git a/src/app/+item-page/media-viewer/media-viewer-image/media-viewer-image.component.html b/src/app/+item-page/media-viewer/media-viewer-image/media-viewer-image.component.html index 2d12403b1f..bafc6f079c 100644 --- a/src/app/+item-page/media-viewer/media-viewer-image/media-viewer-image.component.html +++ b/src/app/+item-page/media-viewer/media-viewer-image/media-viewer-image.component.html @@ -1,8 +1,4 @@ -
+
{ let component: MediaViewerImageComponent; let fixture: ComponentFixture; + const authService = jasmine.createSpyObj('authService', { + isAuthenticated: observableOf(false) + }); + const mockBitstream: Bitstream = Object.assign(new Bitstream(), { sizeBytes: 10201, content: @@ -52,8 +57,12 @@ describe('MediaViewerImageComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ + imports:[], declarations: [MediaViewerImageComponent], schemas: [NO_ERRORS_SCHEMA], + providers: [ + { provide: AuthService, useValue: authService }, + ], }).compileComponents(); })); diff --git a/src/app/+item-page/media-viewer/media-viewer-video/media-viewer-video.component.spec.ts b/src/app/+item-page/media-viewer/media-viewer-video/media-viewer-video.component.spec.ts index d1060a85ce..88138a252f 100644 --- a/src/app/+item-page/media-viewer/media-viewer-video/media-viewer-video.component.spec.ts +++ b/src/app/+item-page/media-viewer/media-viewer-video/media-viewer-video.component.spec.ts @@ -83,6 +83,7 @@ describe('MediaViewerVideoComponent', () => { fixture = TestBed.createComponent(MediaViewerVideoComponent); component = fixture.componentInstance; component.medias = mockMediaViewerItem; + component.filteredMedias = mockMediaViewerItem; fixture.detectChanges(); }); @@ -93,6 +94,7 @@ describe('MediaViewerVideoComponent', () => { describe('should show controller buttons when the having mode then one video', () => { beforeEach(() => { component.medias = mockMediaViewerItems; + component.filteredMedias = mockMediaViewerItems; fixture.detectChanges(); }); @@ -107,21 +109,21 @@ describe('MediaViewerVideoComponent', () => { fixture.detectChanges(); }); - it('should increase the the index', () => { + it('should increase the index', () => { const viewMore = fixture.debugElement.query(By.css('.next')); viewMore.triggerEventHandler('click', null); expect(component.currentIndex).toBe(1); }); }); - describe('when the "Previus" button is clicked', () => { + describe('when the "Previous" button is clicked', () => { beforeEach(() => { component.currentIndex = 1; fixture.detectChanges(); }); - it('should increase the the index', () => { - const viewMore = fixture.debugElement.query(By.css('.previus')); + it('should decrease the index', () => { + const viewMore = fixture.debugElement.query(By.css('.previous')); viewMore.triggerEventHandler('click', null); expect(component.currentIndex).toBe(0); }); @@ -133,7 +135,7 @@ describe('MediaViewerVideoComponent', () => { fixture.detectChanges(); }); - it('should set the the index with teh selected one', () => { + it('should set the the index with the selected one', () => { const viewMore = fixture.debugElement.query(By.css('.list-element')); viewMore.triggerEventHandler('click', null); expect(component.currentIndex).toBe(0); diff --git a/src/app/+item-page/media-viewer/media-viewer.component.html b/src/app/+item-page/media-viewer/media-viewer.component.html index a96c94e72a..9a32af7086 100644 --- a/src/app/+item-page/media-viewer/media-viewer.component.html +++ b/src/app/+item-page/media-viewer/media-viewer.component.html @@ -6,7 +6,7 @@ >
- + - + @@ -23,9 +23,9 @@ diff --git a/src/app/+item-page/media-viewer/media-viewer.component.spec.ts b/src/app/+item-page/media-viewer/media-viewer.component.spec.ts index 1f3d410f3e..8ed2f6073b 100644 --- a/src/app/+item-page/media-viewer/media-viewer.component.spec.ts +++ b/src/app/+item-page/media-viewer/media-viewer.component.spec.ts @@ -51,7 +51,7 @@ describe('MediaViewerComponent', () => { const bitstreamDataService = jasmine.createSpyObj('bitstreamDataService', { findAllByItemAndBundleName: createSuccessfulRemoteDataObject$( - createPaginatedList([]) + createPaginatedList([mockBitstream]) ), }); @@ -94,6 +94,8 @@ describe('MediaViewerComponent', () => { describe('when the bitstreams are loading', () => { beforeEach(() => { comp.mediaList$.next([mockMediaViewerItem]); + comp.imageOptions = true; + comp.videoOptions = true; comp.isLoading = true; fixture.detectChanges(); }); @@ -114,4 +116,30 @@ describe('MediaViewerComponent', () => { }); }); + describe('when the bitstreams loading is failed', () => { + beforeEach(() => { + comp.mediaList$.next([]); + comp.imageOptions = true; + comp.videoOptions = true; + comp.isLoading = false; + fixture.detectChanges(); + }); + + it('should call the createMediaViewerItem', () => { + const mediaItem = comp.createMediaViewerItem( + mockBitstream, + MockBitstreamFormat1, + undefined + ); + expect(mediaItem).toBeTruthy(); + expect(mediaItem.thumbnail).toBe(null); + }); + + it('should display a default, thumbnail', () => { + const defaultThumbnail = fixture.debugElement.query( + By.css('ds-media-viewer-image') + ); + expect(defaultThumbnail.nativeElement).toBeDefined(); + }); + }); }); diff --git a/src/app/+item-page/media-viewer/media-viewer.component.ts b/src/app/+item-page/media-viewer/media-viewer.component.ts index 07b679354a..971bce3cde 100644 --- a/src/app/+item-page/media-viewer/media-viewer.component.ts +++ b/src/app/+item-page/media-viewer/media-viewer.component.ts @@ -24,7 +24,8 @@ import { followLink } from '../../shared/utils/follow-link-config.model'; }) export class MediaViewerComponent implements OnInit { @Input() item: Item; - @Input() options: MediaViewerConfig; + @Input() imageOptions: boolean; + @Input() videoOptions: boolean; mediaList$: BehaviorSubject; diff --git a/src/app/+item-page/simple/item-types/publication/publication.component.html b/src/app/+item-page/simple/item-types/publication/publication.component.html index 22b1317d6c..967fac64c5 100644 --- a/src/app/+item-page/simple/item-types/publication/publication.component.html +++ b/src/app/+item-page/simple/item-types/publication/publication.component.html @@ -10,7 +10,7 @@ - + diff --git a/src/environments/mock-environment.ts b/src/environments/mock-environment.ts index 6e4d60e268..c68b39fbf1 100644 --- a/src/environments/mock-environment.ts +++ b/src/environments/mock-environment.ts @@ -196,4 +196,9 @@ export const environment: Partial = { theme: { name: 'default', }, + mediaViewer: { + enable: true, + image: true, + video: true, + }, };