import type { ComponentType, PropsWithChildren, ReactElement } from "react"; import { render as vitestRender } from "vitest-browser-react"; import { TestAppShell } from "./app-shell"; /** Every browser-mode render gets the shared app shell (see `app-shell.tsx`). */ const TestProviders = ({ children }: PropsWithChildren) => ( {children} ); type RenderOptions = Parameters[1]; export function render(ui: ReactElement, options?: RenderOptions) { const userWrapper = options?.wrapper as | ComponentType | undefined; const Wrapper = userWrapper ? ({ children }: PropsWithChildren) => { const Inner = userWrapper; return ( {children} ); } : TestProviders; return vitestRender(ui, { ...options, wrapper: Wrapper }); }