-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjest.setup.ts
33 lines (27 loc) · 1 KB
/
jest.setup.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Optional: configure or set up a testing framework before each test.
// If you delete this file, remove `setupFilesAfterEnv` from `jest.config.js`
// Used for __tests__/testing-library.js
// Learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom/extend-expect';
// Create mock for window.matchMedia
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(),
})),
});
// Create mocks of localStorage getItem and setItem functions
let localStorageMock: { [key: string]: string } = {};
global.Storage.prototype.getItem = jest.fn(
(key: string) => localStorageMock[key]
);
global.Storage.prototype.setItem = jest.fn((key: string, value: string) => {
localStorageMock[key] = value;
});