import * as React from 'react'
import {
render as baseRender,
renderHook as baseRenderHook,
} from '@testing-library/react'
import { type ChildrenProps } from '~/src/types/props'
import { AppProvider } from '~/src/components/AppProvider'
function TestProvider({ children }: ChildrenProps) {
return {children}
}
export function render(
ui: Parameters[0],
options?: Parameters[1]
) {
return baseRender(ui, {
wrapper: TestProvider,
...options,
legacyRoot: false,
})
}
interface RenderHookOptions {
initialProps?: Props
wrapper?: React.JSXElementConstructor<{ children: React.ReactNode }>
}
export function renderHook(
hook: (initialProps: Props) => Result,
options?: RenderHookOptions
) {
return baseRenderHook(hook, {
wrapper: TestProvider,
...options,
})
}