mirror of
https://github.com/supabase/supabase.git
synced 2026-10-08 19:05:06 +03:00
* update pckgs * add adapter * update nuqs implementation for v2, add some helpers for testing * rm render with nuqs, not needed * fix type
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
import { render, RenderOptions } from '@testing-library/react'
|
|
import { NuqsTestingAdapter } from 'nuqs/adapters/testing'
|
|
import { TooltipProvider } from 'ui'
|
|
|
|
type AdapterProps = Parameters<typeof NuqsTestingAdapter>[0]
|
|
|
|
const CustomWrapper = ({
|
|
children,
|
|
queryClient,
|
|
nuqs,
|
|
}: {
|
|
children: React.ReactNode
|
|
queryClient?: QueryClient
|
|
nuqs?: AdapterProps
|
|
}) => {
|
|
const _queryClient = queryClient ?? new QueryClient()
|
|
|
|
return (
|
|
<QueryClientProvider client={_queryClient}>
|
|
<NuqsTestingAdapter {...nuqs}>
|
|
<TooltipProvider>{children}</TooltipProvider>
|
|
</NuqsTestingAdapter>
|
|
</QueryClientProvider>
|
|
)
|
|
}
|
|
|
|
type CustomRenderOpts = RenderOptions & {
|
|
queryClient?: QueryClient
|
|
nuqs?: AdapterProps
|
|
}
|
|
|
|
export const customRender = (component: React.ReactElement, renderOptions?: CustomRenderOpts) => {
|
|
return render(component, {
|
|
wrapper: ({ children }) =>
|
|
CustomWrapper({
|
|
queryClient: renderOptions?.queryClient,
|
|
nuqs: renderOptions?.nuqs,
|
|
children,
|
|
}),
|
|
...renderOptions,
|
|
})
|
|
}
|