From 9e42ec82c66de97a14996300473efefde514b39c Mon Sep 17 00:00:00 2001 From: Kuzz007 Date: Thu, 30 Jul 2026 01:25:50 +0300 Subject: [PATCH] test: wrap renderWithProviders in QueryClientProvider The upstream PR branch's copy of this helper already wraps QueryClientProvider (needed by any test rendering a component that uses react-query), but this fork's own main never picked that up -- until the just-ported rule-form-geodata-tags.test.tsx became the first test here to render a component (RuleFormModal) whose hooks call useQuery, failing immediately with "No QueryClient set". Backward compatible: all 12 existing callers pass unchanged since QueryClientProvider is a no-op for components that don't touch react-query. Co-Authored-By: Claude Sonnet 5 --- frontend/src/test/test-utils.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/frontend/src/test/test-utils.tsx b/frontend/src/test/test-utils.tsx index d0640eaa2..be81b5305 100644 --- a/frontend/src/test/test-utils.tsx +++ b/frontend/src/test/test-utils.tsx @@ -1,10 +1,20 @@ import type { ReactElement } from 'react'; import { render, fireEvent } from '@testing-library/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ThemeProvider } from '@/hooks/useTheme'; -export function renderWithProviders(ui: ReactElement) { - return render({ui}); +export function makeTestQueryClient() { + return new QueryClient({ defaultOptions: { queries: { retry: false } } }); +} + +export function renderWithProviders(ui: ReactElement, options?: { queryClient?: QueryClient }) { + const queryClient = options?.queryClient ?? makeTestQueryClient(); + return render( + + {ui} + , + ); } export function fieldLabels(): string[] {