From fe080b6376cd54960ad01ac4e50b4a9f00b37506 Mon Sep 17 00:00:00 2001 From: Yunus M Date: Mon, 9 Mar 2026 20:00:34 +0530 Subject: [PATCH] feat: enhance navigation tests for middle mouse button interactions --- frontend/src/utils/__tests__/navigation.test.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/frontend/src/utils/__tests__/navigation.test.ts b/frontend/src/utils/__tests__/navigation.test.ts index 0f8c08c95f..a3467d4704 100644 --- a/frontend/src/utils/__tests__/navigation.test.ts +++ b/frontend/src/utils/__tests__/navigation.test.ts @@ -20,6 +20,7 @@ describe('navigation utilities', () => { ({ metaKey: false, ctrlKey: false, + button: 0, ...overrides, } as MouseEvent); @@ -50,6 +51,11 @@ describe('navigation utilities', () => { } as Partial); expect(isModifierKeyPressed(event)).toBe(false); }); + + it('returns true when middle mouse button is used', () => { + const event = createMouseEvent({ button: 1 }); + expect(isModifierKeyPressed(event)).toBe(true); + }); }); describe('openInNewTab', () => { @@ -98,6 +104,14 @@ describe('navigation utilities', () => { expect(mockNavigate).not.toHaveBeenCalled(); }); + it('opens new tab when middle mouse button is used', () => { + const event = { metaKey: false, ctrlKey: false, button: 1 } as MouseEvent; + navigateToPage('/services', mockNavigate, event); + + expect(window.open).toHaveBeenCalledWith('/services', '_blank'); + expect(mockNavigate).not.toHaveBeenCalled(); + }); + it('calls navigate callback when no modifier key is pressed', () => { const event = { metaKey: false, ctrlKey: false } as MouseEvent; navigateToPage('/services', mockNavigate, event);