ファイル
btrc-hub/frontend/src/test/render.tsx
T
2026-05-13 20:42:25 +09:00

36 行
905 B
TypeScript

import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { render } from '@testing-library/react'
import { HelmetProvider } from 'react-helmet-async'
import { MemoryRouter } from 'react-router-dom'
import type { ReactElement, ReactNode } from 'react'
type Options = {
route?: string
}
export const renderWithProviders = (
ui: ReactElement,
options: Options = {},
) => {
const queryClient = new QueryClient ({
defaultOptions: {
queries: { retry: false },
},
})
const Wrapper = ({ children }: { children: ReactNode }) => (
<QueryClientProvider client={queryClient}>
<HelmetProvider>
<MemoryRouter initialEntries={[options.route ?? '/']}>
{children}
</MemoryRouter>
</HelmetProvider>
</QueryClientProvider>)
return {
queryClient,
...render (ui, { wrapper: Wrapper }),
}
}