Test refactoring & adding
This commit is contained in:
33
tests/reactUtils.tsx
Normal file
33
tests/reactUtils.tsx
Normal file
@@ -0,0 +1,33 @@
|
||||
import { FC, ReactElement } from "react";
|
||||
import { render, RenderOptions } from "@testing-library/react";
|
||||
import { ChakraProvider } from "@chakra-ui/react";
|
||||
import theme from "../theme";
|
||||
|
||||
// Jest JSDOM bug
|
||||
Object.defineProperty(window, 'matchMedia', {
|
||||
writable: true,
|
||||
value: jest.fn().mockImplementation(query => ({
|
||||
matches: false,
|
||||
media: query,
|
||||
onchange: null,
|
||||
addListener: jest.fn(),
|
||||
removeListener: jest.fn(),
|
||||
addEventListener: jest.fn(),
|
||||
removeEventListener: jest.fn(),
|
||||
dispatchEvent: jest.fn(),
|
||||
})),
|
||||
});
|
||||
|
||||
const Providers: FC = ({ children }) => (
|
||||
<ChakraProvider theme={theme}>
|
||||
{children}
|
||||
</ChakraProvider>
|
||||
);
|
||||
|
||||
const customRender = (
|
||||
ui: ReactElement,
|
||||
options?: Omit<RenderOptions, "queries">
|
||||
) => render(ui, { wrapper: Providers, ...options });
|
||||
|
||||
export * from "@testing-library/react";
|
||||
export { customRender as render };
|
||||
Reference in New Issue
Block a user