1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/frontend/src/utils/testRenderer.tsx

34 lines
1010 B
TypeScript
Raw Normal View History

import React, { FC } from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import { render as rtlRender, RenderOptions } from '@testing-library/react';
import { SWRConfig } from 'swr';
import { MainThemeProvider } from 'themes/MainThemeProvider';
import { AnnouncerProvider } from 'component/common/Announcer/AnnouncerProvider/AnnouncerProvider';
export const render = (
ui: JSX.Element,
{
route = '/',
...renderOptions
}: { route?: string } & Omit<RenderOptions, 'queries'> = {}
) => {
window.history.pushState({}, 'Test page', route);
return rtlRender(ui, {
wrapper: Wrapper,
...renderOptions,
});
};
const Wrapper: FC = ({ children }) => {
return (
<SWRConfig value={{ provider: () => new Map() }}>
<MainThemeProvider>
<AnnouncerProvider>
<Router>{children}</Router>
</AnnouncerProvider>
</MainThemeProvider>
</SWRConfig>
);
};