;
+ 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 @@
>
0">
-
+
-
+
@@ -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,
+ },
};