aboutsummaryrefslogtreecommitdiffstats
path: root/__tests__
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-03-24 21:31:21 +0100
committerArmand Philippot <git@armandphilippot.com>2022-03-24 21:34:53 +0100
commit2de1ca173ee3d8e5886a1b3fdc4afbe102fad22f (patch)
tree6849f0d2884b103e432980330f866b995b7f5947 /__tests__
parent641cfdb0b28ffa0e6cd5d2342bc218613ce4d051 (diff)
test(jest): add a mock for windows matchMedia
Diffstat (limited to '__tests__')
-rw-r--r--__tests__/jest/__mocks__/matchMedia.mock.js15
-rw-r--r--__tests__/utils/test-utils.tsx6
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 };