-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetupTests.ts
More file actions
61 lines (51 loc) · 1.34 KB
/
setupTests.ts
File metadata and controls
61 lines (51 loc) · 1.34 KB
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom';
import 'jest-canvas-mock';
import { server } from './src/api/mocks/setupServer';
import { configure } from '@testing-library/react';
configure({
testIdAttribute: 'data-test-id',
asyncUtilTimeout: 5000,
});
// MSW Server Boot
beforeAll(() => {
server.use();
});
afterEach(async () => {
await new Promise(requestAnimationFrame);
});
afterAll(() => {
server.close();
});
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(),
})),
});
Object.defineProperty(window, 'localStorage', {
writable: true,
value: {
getItem: jest.fn(),
setItem: jest.fn(),
removeItem: jest.fn(),
clear: jest.fn(),
},
});
Object.defineProperty(window, 'open', {
writable: false,
value: jest.fn(),
});
window.URL.createObjectURL = () => 'example.pdf';
jest.setTimeout(30000);
window.HTMLElement.prototype.scrollIntoView = function () {};