From 13637ec8817327da44e97d6c8464e2ecf3d26b43 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Sat, 21 Feb 2026 11:45:50 +0000 Subject: [PATCH] fix: update tests for mobile responsive changes - Add matchMedia polyfill to test setup (jsdom doesn't implement it) - Remove Header tests for filter toggle (replaced by mobile FAB) --- frontend/src/__tests__/setup.ts | 17 ++++++++++++++ .../src/components/__tests__/Header.test.tsx | 22 ------------------- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/frontend/src/__tests__/setup.ts b/frontend/src/__tests__/setup.ts index 1692a91..d5156b0 100644 --- a/frontend/src/__tests__/setup.ts +++ b/frontend/src/__tests__/setup.ts @@ -1,5 +1,22 @@ import '@testing-library/jest-dom/vitest'; +// Polyfill matchMedia for jsdom (used by useIsMobile hook) +if (typeof window.matchMedia === 'undefined') { + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: vi.fn().mockImplementation((query: string) => ({ + matches: false, + media: query, + onchange: null, + addListener: vi.fn(), + removeListener: vi.fn(), + addEventListener: vi.fn(), + removeEventListener: vi.fn(), + dispatchEvent: vi.fn(), + })), + }); +} + // Polyfill ResizeObserver for jsdom (used by Radix UI components) if (typeof globalThis.ResizeObserver === 'undefined') { globalThis.ResizeObserver = class ResizeObserver { diff --git a/frontend/src/components/__tests__/Header.test.tsx b/frontend/src/components/__tests__/Header.test.tsx index 3174862..c945d2d 100644 --- a/frontend/src/components/__tests__/Header.test.tsx +++ b/frontend/src/components/__tests__/Header.test.tsx @@ -60,30 +60,8 @@ describe('Header', () => { expect(container.querySelector('.animate-spin')).toBeInTheDocument(); }); - it('shows active filter count badge', () => { - render( -
, - ); - expect(screen.getByText('5')).toBeInTheDocument(); - }); - it('renders brand name', () => { render(
); expect(screen.getByText('Wrongmove')).toBeInTheDocument(); }); - - it('shows mobile filter toggle when enabled', () => { - const onToggle = vi.fn(); - const { container } = render( -
, - ); - // The filter toggle button has sm:hidden class - const filterButton = container.querySelector('.sm\\:hidden'); - expect(filterButton).toBeInTheDocument(); - }); });