11import { PathAwareBreadcrumbs } from './PathAwareBreadcrumbs' ;
2+ import { useNavigate , useParams } from 'react-router-dom' ;
23
34describe ( 'PathAwareBreadcrumbs' , ( ) => {
4- const navigateCalls = [ ] ;
5- const fakeUseNavigate = ( ) => ( path : string ) => navigateCalls . push ( path ) ;
6- const fakeUseParams = ( ) => ( {
5+ let lastNavigatedPath = '' ;
6+ const fakeUseNavigate = ( ( ) => ( path : string ) => {
7+ lastNavigatedPath = path ;
8+ } ) as typeof useNavigate ;
9+ const fakeUseParams = ( ( ) => ( {
710 projectName : 'my-project' ,
811 workspaceName : 'my-workspace' ,
912 controlPlaneName : 'my-control-plane' ,
10- } ) ;
13+ } ) ) as typeof useParams ;
1114
1215 beforeEach ( ( ) => {
13- navigateCalls . length = 0 ;
16+ lastNavigatedPath = '' ;
1417 } ) ;
1518
1619 it ( 'renders breadcrumbs for all path parameters' , ( ) => {
17- // @ts -ignore
1820 cy . mount ( < PathAwareBreadcrumbs useNavigate = { fakeUseNavigate } useParams = { fakeUseParams } /> ) ;
1921
2022 // Check that all breadcrumbs are rendered
@@ -26,11 +28,6 @@ describe('PathAwareBreadcrumbs', () => {
2628 } ) ;
2729
2830 it ( 'navigates when clicking breadcrumbs for all path parameters' , ( ) => {
29- let lastNavigatedPath : string | null = null ;
30- const fakeUseNavigate = ( ) => ( path : string ) => {
31- lastNavigatedPath = path ;
32- } ;
33- // @ts -ignore
3431 cy . mount ( < PathAwareBreadcrumbs useNavigate = { fakeUseNavigate } useParams = { fakeUseParams } /> ) ;
3532
3633 // Navigate to '/'
@@ -59,22 +56,20 @@ describe('PathAwareBreadcrumbs', () => {
5956 } ) ;
6057
6158 it ( 'renders only home breadcrumb when there are no path parameters' , ( ) => {
62- const fakeUseParams = ( ) => ( { } ) ;
59+ const fakeUseParams = ( ( ) => ( { } ) ) as typeof useParams ;
6360
64- // @ts -ignore
6561 cy . mount ( < PathAwareBreadcrumbs useNavigate = { fakeUseNavigate } useParams = { fakeUseParams } /> ) ;
6662
6763 cy . get ( "[data-testid='breadcrumb-item']" ) . should ( 'have.length' , 1 ) ;
6864 } ) ;
6965
7066 it ( 'handles partial route parameters' , ( ) => {
71- const fakeUseParams = ( ) => ( {
67+ const fakeUseParams = ( ( ) => ( {
7268 projectName : 'my-project' ,
7369 workspaceName : 'my-workspace' ,
7470 // No controlPlaneName
75- } ) ;
71+ } ) ) as typeof useParams ;
7672
77- // @ts -ignore
7873 cy . mount ( < PathAwareBreadcrumbs useNavigate = { fakeUseNavigate } useParams = { fakeUseParams } /> ) ;
7974
8075 // Should show 3 breadcrumbs
0 commit comments