From 9e8c0dc2623afc11c9b701cda96c0ed13e16c69a Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Thu, 8 May 2025 11:05:37 +0200 Subject: [PATCH 1/2] always use thumbnail component for files not supported by the media viewer, and switch to themed version of thumbnail component --- src/app/item-page/media-viewer/media-viewer.component.html | 7 +------ .../item-page/media-viewer/media-viewer.component.spec.ts | 6 +++--- 2 files changed, 4 insertions(+), 9 deletions(-) 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 a76ee73963..9f33277983 100644 --- a/src/app/item-page/media-viewer/media-viewer.component.html +++ b/src/app/item-page/media-viewer/media-viewer.component.html @@ -16,12 +16,7 @@ - - + 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 7649e17b71..b4f55dd9d6 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 @@ -55,7 +55,7 @@ describe('MediaViewerComponent', () => { 'dc.title': [ { language: null, - value: 'test_word.docx', + value: 'test_image.jpg', }, ], }, @@ -150,9 +150,9 @@ describe('MediaViewerComponent', () => { expect(mediaItem.thumbnail).toBe(null); }); - it('should display a default, thumbnail', () => { + it('should display a default thumbnail', () => { const defaultThumbnail = fixture.debugElement.query( - By.css('ds-media-viewer-image'), + By.css('ds-thumbnail') ); expect(defaultThumbnail.nativeElement).toBeDefined(); }); From 12a3b4f84645297c99c5b126bc96ff15063dfed6 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Thu, 8 May 2025 11:26:14 +0200 Subject: [PATCH 2/2] always use thumbnail component for files not supported by the media viewer, and switch to themed version of thumbnail component --- .../media-viewer.component.spec.ts | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) 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 b4f55dd9d6..5aad2c9f2a 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 @@ -1,4 +1,4 @@ -import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { NO_ERRORS_SCHEMA, PLATFORM_ID } from '@angular/core'; import { ComponentFixture, TestBed, @@ -27,10 +27,17 @@ import { ThemeService } from '../../shared/theme-support/theme.service'; import { FileSizePipe } from '../../shared/utils/file-size-pipe'; import { VarDirective } from '../../shared/utils/var.directive'; import { MediaViewerComponent } from './media-viewer.component'; +import { + AuthorizationDataService +} from '../../core/data/feature-authorization/authorization-data.service'; +import { FileService } from '../../core/shared/file.service'; describe('MediaViewerComponent', () => { let comp: MediaViewerComponent; let fixture: ComponentFixture; + let authService; + let authorizationService; + let fileService; const mockBitstream: Bitstream = Object.assign(new Bitstream(), { sizeBytes: 10201, @@ -73,6 +80,15 @@ describe('MediaViewerComponent', () => { ); beforeEach(waitForAsync(() => { + authService = jasmine.createSpyObj('AuthService', { + isAuthenticated: observableOf(true), + }); + authorizationService = jasmine.createSpyObj('AuthorizationService', { + isAuthorized: observableOf(true), + }); + fileService = jasmine.createSpyObj('FileService', { + retrieveFileDownloadLink: null, + }); return TestBed.configureTestingModule({ imports: [ TranslateModule.forRoot({ @@ -88,6 +104,10 @@ describe('MediaViewerComponent', () => { MetadataFieldWrapperComponent, ], providers: [ + { provide: AuthService, useValue: authService }, + { provide: AuthorizationDataService, useValue: authorizationService }, + { provide: FileService, useValue: fileService }, + { provide: PLATFORM_ID, useValue: 'browser' }, { provide: BitstreamDataService, useValue: bitstreamDataService }, { provide: ThemeService, useValue: getMockThemeService() }, { provide: AuthService, useValue: new AuthServiceMock() },