From 5ef59a87161091bd30bf2453d110a7789bbc0501 Mon Sep 17 00:00:00 2001 From: Luca Rossi Date: Thu, 26 Feb 2026 23:35:17 +0100 Subject: [PATCH] test: fix 5 failing tests after react-day-picker addition (#101) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #98 added react-day-picker via shadcn/ui Calendar but the package was not yet installed in node_modules. This broke 5 test files at import resolution time: - src/App.test.tsx - src/components/Editor.test.tsx - src/components/Inspector.test.tsx - src/components/InspectorPanels.test.tsx - src/components/DynamicPropertiesPanel.test.tsx Fix: add a vitest mock for react-day-picker in the global test setup (same pattern as the existing react-virtuoso mock). DayPicker renders a real calendar widget that requires DOM APIs unavailable in jsdom — mocking it to null is the correct approach for unit/integration tests that don't test date-picker behavior specifically. Before: 5 failed | 48 passed (764 tests) After: 0 failed | 53 passed (929 tests) --- src/test/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/setup.ts b/src/test/setup.ts index 781c8d7c..898a1f2e 100644 --- a/src/test/setup.ts +++ b/src/test/setup.ts @@ -10,6 +10,12 @@ vi.mock('@tauri-apps/plugin-opener', () => ({ openUrl: vi.fn(), })) +// Mock react-day-picker: Calendar component uses DayPicker which needs real DOM APIs not available in jsdom +vi.mock('react-day-picker', () => ({ + DayPicker: () => null, + getDefaultClassNames: () => ({}), +})) + // Mock react-virtuoso: JSDOM has no real viewport, so render all items directly vi.mock('react-virtuoso', () => ({ Virtuoso: ({ data, itemContent, components }: {