Files
supabase/apps/studio/tests/lib/custom-render.tsx
T
Jordi Enric f1394f7080 Update Nuqs to v2 (#34230)
* update pckgs

* add adapter

* update nuqs implementation for v2, add some helpers for testing

* rm render with nuqs, not needed

* fix type
2025-03-18 11:30:34 +01:00

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