import React from "react"; import { render, RenderOptions } from "@testing-library/react"; import { MemoryRouter } from "react-router-dom"; import { ThemeProvider } from "context"; interface CustomRenderOptions extends RenderOptions { initialHistory?: string[]; } const customRender = (ui: any, options: CustomRenderOptions = {}) => { const { initialHistory, ...rest } = options; // Provide any context that the components may be expecting const Wrapper: React.FC = ({ children }) => ( <MemoryRouter initialEntries={initialHistory}> <ThemeProvider>{children}</ThemeProvider> </MemoryRouter> ); return render(ui, { wrapper: Wrapper, ...rest }); }; // re-export everything export * from "@testing-library/react"; // override render method export { customRender as render };