import React from "react"; import { BrowserRouter } from "react-router-dom"; import { Refine, I18nProvider, AccessControlProvider, DataProvider, NotificationProvider, IResourceItem, AuthProvider, LegacyAuthProvider, } from "@refinedev/core"; import { MockRouterProvider, MockJSONServer } from "@test"; const List = () => { return
hede
; }; export interface ITestWrapperProps { dataProvider?: DataProvider; authProvider?: AuthProvider; legacyAuthProvider?: LegacyAuthProvider; resources?: IResourceItem[]; notificationProvider?: NotificationProvider; accessControlProvider?: AccessControlProvider; i18nProvider?: I18nProvider; routerInitialEntries?: string[]; DashboardPage?: React.FC; } export const TestWrapper: ( props: ITestWrapperProps, ) => React.FC<{ children?: React.ReactNode }> = ({ dataProvider, authProvider, legacyAuthProvider, resources, notificationProvider, accessControlProvider, routerInitialEntries, DashboardPage, i18nProvider, }) => { // Previously, MemoryRouter was used in this wrapper. However, the // recommendation by react-router developers (see // https://github.com/remix-run/react-router/discussions/8241#discussioncomment-159686) // is essentially to use the same router as your actual application. Besides // that, it's impossible to check for location changes with MemoryRouter if // needed. if (routerInitialEntries) { routerInitialEntries.forEach((route) => { window.history.replaceState({}, "", route); }); } // eslint-disable-next-line react/display-name return ({ children }): React.ReactElement => { return ( {children} ); }; }; export { MockJSONServer, MockRouterProvider, MockAccessControlProvider, MockLiveProvider, MockAuthProvider, } from "./dataMocks"; // re-export everything export * from "@testing-library/react";