1+ import { TestBed } from '@angular/core/testing' ;
2+ import { Router } from '@angular/router' ;
13import { cold } from 'jasmine-marbles' ;
24import { EMPTY } from 'rxjs' ;
35
6+ import { APP_CONFIG } from '../../config/app-config.interface' ;
47import { PAGE_NOT_FOUND_PATH } from '../app-routing-paths' ;
58import { BitstreamDataService } from '../core/data/bitstream-data.service' ;
69import { RemoteData } from '../core/data/remote-data' ;
@@ -44,6 +47,15 @@ describe('legacyBitstreamURLRedirectGuard', () => {
4447 findByItemHandle : ( ) => undefined
4548 } as any ;
4649 resolver = legacyBitstreamURLRedirectGuard ;
50+
51+ TestBed . configureTestingModule ( {
52+ providers : [
53+ { provide : BitstreamDataService , useValue : bitstreamDataService } ,
54+ { provide : HardRedirectService , useValue : hardRedirectService } ,
55+ { provide : Router , useValue : router } ,
56+ { provide : APP_CONFIG , useValue : { ui : { nameSpace : '/' } } }
57+ ]
58+ } ) ;
4759 } ) ;
4860
4961 describe ( `resolve` , ( ) => {
@@ -60,12 +72,14 @@ describe('legacyBitstreamURLRedirectGuard', () => {
6072 } ) ;
6173 } ) ;
6274 it ( `should call findByItemHandle with the handle, sequence id, and filename from the route` , ( ) => {
63- resolver ( route , state , bitstreamDataService , hardRedirectService , router ) ;
64- expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalledWith (
65- `${ route . params . prefix } /${ route . params . suffix } ` ,
66- route . params . sequence_id ,
67- route . params . filename
68- ) ;
75+ TestBed . runInInjectionContext ( ( ) => {
76+ resolver ( route , state ) ;
77+ expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalledWith (
78+ `${ route . params . prefix } /${ route . params . suffix } ` ,
79+ route . params . sequence_id ,
80+ route . params . filename
81+ ) ;
82+ } ) ;
6983 } ) ;
7084 } ) ;
7185
@@ -85,12 +99,14 @@ describe('legacyBitstreamURLRedirectGuard', () => {
8599 } ) ;
86100 } ) ;
87101 it ( `should call findByItemHandle with the handle and filename from the route, and the sequence ID from the queryParams` , ( ) => {
88- resolver ( route , state , bitstreamDataService , hardRedirectService , router ) ;
89- expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalledWith (
90- `${ route . params . prefix } /${ route . params . suffix } ` ,
91- route . queryParams . sequenceId ,
92- route . params . filename
93- ) ;
102+ TestBed . runInInjectionContext ( ( ) => {
103+ resolver ( route , state ) ;
104+ expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalledWith (
105+ `${ route . params . prefix } /${ route . params . suffix } ` ,
106+ route . queryParams . sequenceId ,
107+ route . params . filename
108+ ) ;
109+ } ) ;
94110 } ) ;
95111 } ) ;
96112 describe ( `when there's no sequenceId query parameter` , ( ) => {
@@ -105,12 +121,14 @@ describe('legacyBitstreamURLRedirectGuard', () => {
105121 } ) ;
106122 } ) ;
107123 it ( `should call findByItemHandle with the handle, and filename from the route` , ( ) => {
108- resolver ( route , state , bitstreamDataService , hardRedirectService , router ) ;
109- expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalledWith (
110- `${ route . params . prefix } /${ route . params . suffix } ` ,
111- undefined ,
112- route . params . filename
113- ) ;
124+ TestBed . runInInjectionContext ( ( ) => {
125+ resolver ( route , state ) ;
126+ expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalledWith (
127+ `${ route . params . prefix } /${ route . params . suffix } ` ,
128+ undefined ,
129+ route . params . filename
130+ ) ;
131+ } ) ;
114132 } ) ;
115133 } ) ;
116134 } ) ;
@@ -122,9 +140,11 @@ describe('legacyBitstreamURLRedirectGuard', () => {
122140 b : remoteDataMocks . ResponsePending ,
123141 c : remoteDataMocks . Error ,
124142 } ) ) ;
125- resolver ( route , state , bitstreamDataService , hardRedirectService , router ) . subscribe ( ( ) => {
126- expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalled ( ) ;
127- expect ( router . createUrlTree ) . toHaveBeenCalledWith ( [ PAGE_NOT_FOUND_PATH ] ) ;
143+ TestBed . runInInjectionContext ( ( ) => {
144+ resolver ( route , state ) . subscribe ( ( ) => {
145+ expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalled ( ) ;
146+ expect ( router . createUrlTree ) . toHaveBeenCalledWith ( [ PAGE_NOT_FOUND_PATH ] ) ;
147+ } ) ;
128148 } ) ;
129149 } ) ;
130150
@@ -135,9 +155,11 @@ describe('legacyBitstreamURLRedirectGuard', () => {
135155 b : remoteDataMocks . ResponsePending ,
136156 c : remoteDataMocks . NoContent ,
137157 } ) ) ;
138- resolver ( route , state , bitstreamDataService , hardRedirectService , router ) . subscribe ( ( ) => {
139- expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalled ( ) ;
140- expect ( router . createUrlTree ) . toHaveBeenCalledWith ( [ PAGE_NOT_FOUND_PATH ] ) ;
158+ TestBed . runInInjectionContext ( ( ) => {
159+ resolver ( route , state ) . subscribe ( ( ) => {
160+ expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalled ( ) ;
161+ expect ( router . createUrlTree ) . toHaveBeenCalledWith ( [ PAGE_NOT_FOUND_PATH ] ) ;
162+ } ) ;
141163 } ) ;
142164 } ) ;
143165
@@ -148,9 +170,11 @@ describe('legacyBitstreamURLRedirectGuard', () => {
148170 b : remoteDataMocks . ResponsePending ,
149171 c : remoteDataMocks . Success ,
150172 } ) ) ;
151- resolver ( route , state , bitstreamDataService , hardRedirectService , router ) . subscribe ( ( ) => {
152- expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalled ( ) ;
153- expect ( hardRedirectService . redirect ) . toHaveBeenCalledWith ( new URL ( `/bitstreams/${ bitstream . uuid } /download` , window . location . origin ) . href , 301 ) ;
173+ TestBed . runInInjectionContext ( ( ) => {
174+ resolver ( route , state ) . subscribe ( ( ) => {
175+ expect ( bitstreamDataService . findByItemHandle ) . toHaveBeenCalled ( ) ;
176+ expect ( hardRedirectService . redirect ) . toHaveBeenCalledWith ( new URL ( `/bitstreams/${ bitstream . uuid } /download` , window . location . origin ) . href , 301 ) ;
177+ } ) ;
154178 } ) ;
155179 } ) ;
156180 } ) ;
0 commit comments