@@ -18,11 +18,12 @@ describe(`LocaleInterceptor`, () => {
1818 let localeService : any ;
1919
2020 const languageList = [ 'en;q=1' , 'it;q=0.9' , 'de;q=0.8' , 'fr;q=0.7' ] ;
21+ const rootHref = 'https://sandbox.dspace.org/server/api' ;
2122
22- const mockLocaleService = jasmine . createSpyObj ( 'LocaleService' , {
23- getCurrentLanguageCode : jasmine . createSpy ( 'getCurrentLanguageCode' ) ,
24- getLanguageCodeList : of ( languageList ) ,
25- } ) ;
23+ const mockLocaleService = jasmine . createSpyObj ( 'LocaleService' , [
24+ 'getCurrentLanguageCode' ,
25+ ' getLanguageCodeList' ,
26+ ] ) ;
2627
2728 const mockHalEndpointService = {
2829 getRootHref : jasmine . createSpy ( 'getRootHref' ) ,
@@ -48,6 +49,8 @@ describe(`LocaleInterceptor`, () => {
4849 localeService = TestBed . inject ( LocaleService ) ;
4950
5051 localeService . getCurrentLanguageCode . and . returnValue ( of ( 'en' ) ) ;
52+ localeService . getLanguageCodeList . and . returnValue ( of ( languageList ) ) ;
53+ mockHalEndpointService . getRootHref . and . returnValue ( rootHref ) ;
5154 } ) ;
5255
5356 describe ( '' , ( ) => {
@@ -76,6 +79,29 @@ describe(`LocaleInterceptor`, () => {
7679 const lang = httpRequest . request . headers . get ( 'Accept-Language' ) ;
7780 expect ( lang ) . toBeDefined ( ) ;
7881 expect ( lang ) . toBe ( languageList . toString ( ) ) ;
82+ expect ( localeService . getLanguageCodeList ) . toHaveBeenCalledWith ( false ) ;
83+ } ) ;
84+
85+ it ( 'should ignore EPerson settings for root endpoint requests' , ( ) => {
86+ service . request ( RestRequestMethod . GET , rootHref ) . subscribe ( ( response ) => {
87+ expect ( response ) . toBeTruthy ( ) ;
88+ } ) ;
89+
90+ httpMock . expectOne ( rootHref ) ;
91+
92+ expect ( localeService . getLanguageCodeList ) . toHaveBeenCalledWith ( true ) ;
93+ } ) ;
94+
95+ it ( 'should ignore EPerson settings for eperson endpoint requests' , ( ) => {
96+ const epersonHref = `${ rootHref } /eperson/epersons/1234` ;
97+
98+ service . request ( RestRequestMethod . GET , epersonHref ) . subscribe ( ( response ) => {
99+ expect ( response ) . toBeTruthy ( ) ;
100+ } ) ;
101+
102+ httpMock . expectOne ( epersonHref ) ;
103+
104+ expect ( localeService . getLanguageCodeList ) . toHaveBeenCalledWith ( true ) ;
79105 } ) ;
80106
81107 } ) ;
0 commit comments