import { RenderHookOptions, RenderOptions, render, renderHook, } from "@testing-library/react"; import { Account, AnonymousJazzAgent } from "jazz-tools"; import React from "react"; import { JazzTestProvider } from "../testing.js"; type JazzExtendedOptions = { account: Account | { guest: AnonymousJazzAgent }; }; const customRender = ( ui: React.ReactNode, options: RenderOptions & JazzExtendedOptions, ) => { const AllTheProviders = ({ children }: { children: React.ReactNode }) => { return ( {children} ); }; return render(ui, { wrapper: AllTheProviders, ...options }); }; const customRenderHook = ( callback: (props: TProps) => TResult, options: RenderHookOptions & JazzExtendedOptions, ) => { const AllTheProviders = ({ children }: { children: React.ReactNode }) => { return ( {children} ); }; return renderHook(callback, { wrapper: AllTheProviders, ...options }); }; // re-export everything export * from "@testing-library/react"; // override render method export { customRender as render }; export { customRenderHook as renderHook };