forked from stoplightio/spectral
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setupJest.ts
36 lines (28 loc) · 827 Bytes
/
setupJest.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
import * as fs from 'fs';
let readFileSpy: jest.SpyInstance;
let accessSpy: jest.SpyInstance;
const { readFile, access } = fs;
jest.setTimeout(10 * 1000);
beforeEach(() => {
readFileSpy = jest.spyOn(fs, 'readFile');
accessSpy = jest.spyOn(fs, 'access');
accessSpy.mockImplementation((path, type, cb) => {
return access(
path.replace(/(src)\/(rulesets\/oas\d?\/(?!__tests__))/, (str: string, val: string, p: string) => `dist/${p}`),
type,
cb,
);
});
readFileSpy.mockImplementation((path, encoding, cb) => {
return readFile(
path.replace(/(src)\/(rulesets\/oas\d?\/(?!__tests__))/, (str: string, val: string, p: string) => `dist/${p}`),
encoding,
cb,
);
});
});
afterEach(() => {
readFileSpy.mockRestore();
accessSpy.mockRestore();
});
jest.mock('fs');