@@ -21,6 +21,8 @@ import MemoryRouter from '../../../helpers/future-memory-router';
2121import { Link } from 'react-router-dom' ;
2222import * as UUC from '~/contexts/user' ;
2323import LoginMenu from '~/layouts/default/header/menus/main-menu/login-menu/login-menu-with-dropdown' ;
24+ import MenuExpander from '~/layouts/default/header/menus/menu-expander/menu-expander' ;
25+ import { DropdownContextProvider } from '~/layouts/default/header/menus/dropdown-context' ;
2426import '@testing-library/jest-dom' ;
2527
2628// Mock external dependencies
@@ -360,11 +362,23 @@ describe('default layout', () => {
360362 }
361363 } ;
362364
365+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
363366 jest . spyOn ( UUC , 'default' ) . mockReturnValue ( { userModel : { id : 16249 } , myOpenStaxUser} as any ) ;
364367 render ( < MemoryRouter initialEntries = { [ '/webinars' ] } >
365368 < LoginMenu />
366- < Link to = "/kinetic" > Change route</ Link >
367369 </ MemoryRouter > ) ;
368370 await screen . findByText ( 'Account Dashboard' ) ;
369371 } ) ;
372+ it ( 'closes mobile menu on location change' , ( ) => {
373+ const toggleActive = jest . fn ( ) ;
374+
375+ render ( < DropdownContextProvider >
376+ < MemoryRouter initialEntries = { [ '/webinars' ] } >
377+ < MenuExpander active = { true } toggleActive = { toggleActive } />
378+ < Link to = "/kinetic" > Change route</ Link >
379+ </ MemoryRouter >
380+ </ DropdownContextProvider > ) ;
381+ fireEvent . click ( screen . getByText ( 'Change route' ) ) ;
382+ expect ( toggleActive ) . toHaveBeenCalledWith ( false ) ;
383+ } ) ;
370384} ) ;
0 commit comments