@@ -4,7 +4,7 @@ import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
44import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock' ;
55import { BitstreamDataService } from '../../core/data/bitstream-data.service' ;
66import { createRelationshipsObservable } from '../simple/item-types/shared/item.component.spec' ;
7- import { NO_ERRORS_SCHEMA } from '@angular/core' ;
7+ import { NO_ERRORS_SCHEMA , PLATFORM_ID } from '@angular/core' ;
88import { MetadataMap } from '../../core/shared/metadata.models' ;
99import { Item } from '../../core/shared/item.model' ;
1010import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils' ;
@@ -207,7 +207,58 @@ describe('MiradorViewerComponent with a single image', () => {
207207 it ( 'should call mirador service image count' , ( ) => {
208208 expect ( viewerService . getImageCount ) . toHaveBeenCalled ( ) ;
209209 } ) ;
210+ } ) ;
211+
212+ } ) ;
210213
214+ describe ( 'MiradorViewerComponent on browser in prod mode' , ( ) => {
215+ let comp : MiradorViewerComponent ;
216+ let fixture : ComponentFixture < MiradorViewerComponent > ;
217+ const viewerService = jasmine . createSpyObj ( 'MiradorViewerService' , [ 'showEmbeddedViewer' , 'getImageCount' ] ) ;
218+
219+ beforeEach ( waitForAsync ( ( ) => {
220+ viewerService . showEmbeddedViewer . and . returnValue ( true ) ;
221+ viewerService . getImageCount . and . returnValue ( observableOf ( 1 ) ) ;
222+ TestBed . configureTestingModule ( {
223+ imports : [ TranslateModule . forRoot ( {
224+ loader : {
225+ provide : TranslateLoader ,
226+ useClass : TranslateLoaderMock
227+ }
228+ } ) ] ,
229+ declarations : [ MiradorViewerComponent ] ,
230+ providers : [
231+ { provide : BitstreamDataService , useValue : { } } ,
232+ { provide : BundleDataService , useValue : { } } ,
233+ { provide : HostWindowService , useValue : mockHostWindowService } ,
234+ { provide : NativeWindowService , useValue : new NativeWindowRef ( ) } ,
235+ { provide : Location , useValue : { } } ,
236+ { provide : PLATFORM_ID , useValue : 'browser' } ,
237+ ] ,
238+ schemas : [ NO_ERRORS_SCHEMA ]
239+ } ) . overrideComponent ( MiradorViewerComponent , {
240+ set : {
241+ providers : [
242+ { provide : MiradorViewerService , useValue : viewerService }
243+ ]
244+ }
245+ } ) . compileComponents ( ) ;
246+ } ) ) ;
247+
248+ describe ( 'viewer init' , ( ) => {
249+ beforeEach ( waitForAsync ( ( ) => {
250+ fixture = TestBed . createComponent ( MiradorViewerComponent ) ;
251+ comp = fixture . componentInstance ;
252+ comp . object = getItem ( noMetadata ) ;
253+ fixture . detectChanges ( ) ;
254+ } ) ) ;
255+
256+ it ( 'should set iframe listener' , ( ) => {
257+ const compAsAny = comp as any ;
258+ spyOn ( compAsAny . _window . nativeWindow , 'addEventListener' ) ;
259+ compAsAny . ngOnInit ( ) ;
260+ expect ( compAsAny . _window . nativeWindow . addEventListener ) . toHaveBeenCalled ( ) ;
261+ } ) ;
211262 } ) ;
212263
213264} ) ;
0 commit comments