diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-03-24 21:31:21 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-03-24 21:34:53 +0100 |
| commit | 2de1ca173ee3d8e5886a1b3fdc4afbe102fad22f (patch) | |
| tree | 6849f0d2884b103e432980330f866b995b7f5947 /__tests__ | |
| parent | 641cfdb0b28ffa0e6cd5d2342bc218613ce4d051 (diff) | |
test(jest): add a mock for windows matchMedia
Diffstat (limited to '__tests__')
| -rw-r--r-- | __tests__/jest/__mocks__/matchMedia.mock.js | 15 | ||||
| -rw-r--r-- | __tests__/utils/test-utils.tsx | 6 |
2 files changed, 17 insertions, 4 deletions
diff --git a/__tests__/jest/__mocks__/matchMedia.mock.js b/__tests__/jest/__mocks__/matchMedia.mock.js new file mode 100644 index 0000000..a983ad3 --- /dev/null +++ b/__tests__/jest/__mocks__/matchMedia.mock.js @@ -0,0 +1,15 @@ +Object.defineProperty(window, 'matchMedia', { + writable: true, + value: jest.fn().mockImplementation((query) => ({ + matches: false, + media: query, + onchange: null, + addListener: jest.fn(), // deprecated + removeListener: jest.fn(), // deprecated + addEventListener: jest.fn(), + removeEventListener: jest.fn(), + dispatchEvent: jest.fn(), + })), +}); + +export {}; diff --git a/__tests__/utils/test-utils.tsx b/__tests__/utils/test-utils.tsx index 4befd47..e47bbe1 100644 --- a/__tests__/utils/test-utils.tsx +++ b/__tests__/utils/test-utils.tsx @@ -32,13 +32,11 @@ const AllTheProviders: FC<ProvidersConfig> = ({ children, locale = 'en' }) => { * @param {CustomRenderOptions} [options] - An object of render options and providers options. * @returns A React component wrapped with all the providers. */ -const customRender = (ui: JSX.Element, options?: CustomRenderOptions) => { - const Component = () => ui; - render(<Component />, { +const customRender = (ui: JSX.Element, options?: CustomRenderOptions) => + render(ui, { wrapper: () => <AllTheProviders {...options?.providers} />, ...options?.testingLibrary, }); -}; export * from '@testing-library/react'; export { customRender as render }; |
