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