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();
- });
});