diff --git a/src/app-layout/__tests__/app-layout-navigation.test.tsx b/src/app-layout/__tests__/app-layout-navigation.test.tsx index 470d5c2880..cbba909c0f 100644 --- a/src/app-layout/__tests__/app-layout-navigation.test.tsx +++ b/src/app-layout/__tests__/app-layout-navigation.test.tsx @@ -63,6 +63,15 @@ describeEachAppLayout({ themes: ['refresh-toolbar'], sizes: ['desktop'] }, () => expect(wrapper.findOpenNavigationPanel()).toBeTruthy(); }); + test('close button does not open navigation when already closed', () => { + const { wrapper } = renderComponent(Mock Navigation} />); + expect(wrapper.findOpenNavigationPanel()).toBeTruthy(); + wrapper.findNavigationToggle().click(); + expect(wrapper.findOpenNavigationPanel()).toBeFalsy(); + wrapper.findNavigationClose().click(); + expect(wrapper.findOpenNavigationPanel()).toBeFalsy(); + }); + test(`Sets aria-expanded=false on toggle when navigation is closed`, () => { const { wrapper } = renderComponent( Mock Navigation} navigationOpen={false} content={<>Content} /> diff --git a/src/app-layout/__tests__/navigation-collapsed.test.tsx b/src/app-layout/__tests__/navigation-collapsed.test.tsx index 45729689ee..077278d37e 100644 --- a/src/app-layout/__tests__/navigation-collapsed.test.tsx +++ b/src/app-layout/__tests__/navigation-collapsed.test.tsx @@ -52,6 +52,17 @@ describeEachAppLayout({ themes: ['refresh-toolbar'], sizes: ['desktop'] }, () => const closeButton = wrapper.findNavigationClose().getElement(); expect(closeButton.querySelector(`.${iconStyles['name-angle-left']}`)).not.toBeNull(); }); + + test('close button toggles navigation open and closed when collapsible', () => { + const { wrapper } = renderComponent( + Nav content} /> + ); + expect(wrapper.findOpenNavigationPanel()).toBeTruthy(); + wrapper.findNavigationClose().click(); + expect(wrapper.findOpenNavigationPanel()).toBeFalsy(); + wrapper.findNavigationClose().click(); + expect(wrapper.findOpenNavigationPanel()).toBeTruthy(); + }); }); describe('aria-expanded', () => { diff --git a/src/app-layout/visual-refresh-toolbar/navigation/index.tsx b/src/app-layout/visual-refresh-toolbar/navigation/index.tsx index 759387fc12..3150d0a41b 100644 --- a/src/app-layout/visual-refresh-toolbar/navigation/index.tsx +++ b/src/app-layout/visual-refresh-toolbar/navigation/index.tsx @@ -91,7 +91,7 @@ export function AppLayoutNavigationImplementation({ } ariaExpanded={navigationCollapsible && !isMobile ? navigationOpen : undefined} iconName={navigationCollapsed ? 'angle-right' : isMobile ? 'close' : 'angle-left'} - onClick={() => onNavigationToggle(!navigationOpen)} + onClick={() => onNavigationToggle(navigationCollapsible ? !navigationOpen : false)} variant="icon" formAction="none" className={testutilStyles['navigation-close']}