veza/apps/web/src/test/helpers.tsx
2025-12-12 21:34:34 -05:00

36 lines
988 B
TypeScript

import { ReactElement } from 'react';
import { render, RenderOptions } from '@testing-library/react';
import { BrowserRouter } from 'react-router-dom';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
// Provider pour les tests avec React Router et React Query
interface AllTheProvidersProps {
children: React.ReactNode;
}
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retry: false,
refetchOnWindowFocus: false,
},
},
});
function AllTheProviders({ children }: AllTheProvidersProps) {
return (
<BrowserRouter>
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
</BrowserRouter>
);
}
// Custom render function avec providers
const customRender = (
ui: ReactElement,
options?: Omit<RenderOptions, 'wrapper'>,
) => render(ui, { wrapper: AllTheProviders, ...options });
// Re-export everything
export * from '@testing-library/react';
export { customRender as render };