-
Notifications
You must be signed in to change notification settings - Fork 0
/
vitest.setup.ts
41 lines (33 loc) · 1010 Bytes
/
vitest.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
34
35
36
37
38
39
40
41
import { faker } from '@faker-js/faker';
import chalk from 'chalk';
import { setupServer } from 'msw/node';
import failOnConsole from 'vitest-fail-on-console';
let seed: number;
const mswServer = setupServer();
mswServer.events.on('request:start', async ({ request }) => {
const payload = await request.clone().text();
console.log(chalk.bgWhiteBright.black.bold('[MSW] Intercepted'), request.method, request.url, payload);
});
beforeAll(() => {
seed = faker.seed();
console.log(chalk.bgBlack.yellowBright.underline(`FAKER SEED: ${seed}`));
vi.stubEnv('TEST_SEED', seed.toString());
failOnConsole();
mswServer.listen({ onUnhandledRequest: 'error' });
vi.useFakeTimers();
});
afterAll(async () => {
mswServer.close();
vi.useRealTimers();
});
beforeEach(() => {
vi.clearAllTimers();
vi.setSystemTime(0);
// mocks...
});
afterEach(async () => {
// await vi.runOnlyPendingTimersAsync();
mswServer.resetHandlers();
// localStorage.clear();
// sessionStorage.clear();
});