OpenPanel/packages/react-table/test/index.tsx
Stefan Pejcic 8595a9f4e5 back
2024-05-08 19:58:53 +02:00

40 lines
1.2 KiB
TypeScript

import React, { ReactNode } from "react";
import { MemoryRouter } from "react-router-dom";
import { Refine, DataProvider, IResourceItem } from "@refinedev/core";
import { MockRouterProvider, MockJSONServer } from "./dataMocks";
interface ITestWrapperProps {
dataProvider?: DataProvider;
resources?: IResourceItem[];
routerInitialEntries?: string[];
}
export const TestWrapper: (
props: ITestWrapperProps,
) => React.FC<{ children: ReactNode }> = ({
dataProvider,
resources,
routerInitialEntries,
}) => {
// eslint-disable-next-line react/display-name
return ({ children }): React.ReactElement => {
return (
<MemoryRouter initialEntries={routerInitialEntries}>
<Refine
dataProvider={dataProvider ?? MockJSONServer}
routerProvider={MockRouterProvider}
resources={resources ?? [{ name: "posts" }]}
options={{ disableTelemetry: true }}
>
{children}
</Refine>
</MemoryRouter>
);
};
};
export { MockJSONServer, MockRouterProvider } from "./dataMocks";
// re-export everything
export * from "@testing-library/react";