import { type ReactNode } from 'react'; import { render, type RenderOptions } from '@testing-library/react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { RouterProvider, createMemoryHistory } from '@tanstack/react-router'; import { router } from '../routes'; function createTestQueryClient() { return new QueryClient({ defaultOptions: { queries: { retry: false, gcTime: 0 }, mutations: { retry: false }, }, }); } export function renderWithProviders( ui: ReactNode, options?: RenderOptions, ) { const queryClient = createTestQueryClient(); function Wrapper({ children }: { children: ReactNode }) { return ( {children} ); } return render(ui, { wrapper: Wrapper, ...options }); } export function renderRoute(path: string) { const queryClient = createTestQueryClient(); const history = createMemoryHistory({ initialEntries: [path] }); const testRouter = Object.assign(router, {}); testRouter.update({ history }); return render( , ); }