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";