@@ -9,7 +9,7 @@ import { HardRedirectService } from '../core/services/hard-redirect.service';
99import { CrisItemPageTabResolver } from './cris-item-page-tab.resolver' ;
1010import { TabDataService } from '../core/layout/tab-data.service' ;
1111import { createPaginatedList } from '../shared/testing/utils.test' ;
12- import { tabDetailsTest , tabPublicationsTest } from '../shared/testing/layout-tab.mocks' ;
12+ import { tabDetailsTest , tabFundingsTest , tabPublicationsTest , } from '../shared/testing/layout-tab.mocks' ;
1313import { PLATFORM_ID } from '@angular/core' ;
1414
1515describe ( 'CrisItemPageTabResolver' , ( ) => {
@@ -48,8 +48,8 @@ describe('CrisItemPageTabResolver', () => {
4848 }
4949 } ) ;
5050
51- const tabsRD = createSuccessfulRemoteDataObject ( createPaginatedList ( [ tabPublicationsTest , tabDetailsTest ] ) ) ;
52- const tabsRD$ = createSuccessfulRemoteDataObject$ ( createPaginatedList ( [ tabPublicationsTest , tabDetailsTest ] ) ) ;
51+ const tabsRD = createSuccessfulRemoteDataObject ( createPaginatedList ( [ tabPublicationsTest , tabDetailsTest , tabFundingsTest ] ) ) ;
52+ const tabsRD$ = createSuccessfulRemoteDataObject$ ( createPaginatedList ( [ tabPublicationsTest , tabDetailsTest , tabFundingsTest ] ) ) ;
5353
5454 const noTabsRD = createSuccessfulRemoteDataObject ( createPaginatedList ( [ ] ) ) ;
5555 const noTabsRD$ = createSuccessfulRemoteDataObject$ ( createPaginatedList ( [ ] ) ) ;
@@ -128,6 +128,18 @@ describe('CrisItemPageTabResolver', () => {
128128 }
129129 ) ;
130130 } ) ;
131+
132+ it ( 'Should handle tab shortnames with "::" correctly' , ( ) => {
133+ const tabRD = createSuccessfulRemoteDataObject ( createPaginatedList ( [ { ...tabPublicationsTest , shortname : 'publication::details' } ] ) ) ;
134+ tabService . findByItem . and . returnValue ( createSuccessfulRemoteDataObject$ ( tabRD ) as any ) ;
135+
136+ TestBed . runInInjectionContext ( ( ) => {
137+ return resolver . resolve ( { params : { id : uuid } } as any , { url : '/entities/publication/1234-65487-12354-1235/publication::details' } as any ) ;
138+ } ) ;
139+
140+ expect ( router . navigateByUrl ) . not . toHaveBeenCalled ( ) ;
141+ expect ( hardRedirectService . redirect ) . not . toHaveBeenCalled ( ) ;
142+ } ) ;
131143 } ) ;
132144
133145 describe ( 'when platform is server' , ( ) => {
0 commit comments