1 | import fetchMock from 'fetch-mock';
|
2 |
|
3 | type AugmentedFetchMock = typeof fetchMock & {
|
4 | isMocked(): boolean;
|
5 | };
|
6 |
|
7 | const mockSpies = [
|
8 | jest.spyOn(fetchMock, 'mock'),
|
9 | jest.spyOn(fetchMock, 'get'),
|
10 | jest.spyOn(fetchMock, 'put'),
|
11 | jest.spyOn(fetchMock, 'post'),
|
12 | jest.spyOn(fetchMock, 'delete'),
|
13 | ];
|
14 |
|
15 | const restoreSpy = jest.spyOn(fetchMock, 'restore') as any;
|
16 |
|
17 | function isMocked() {
|
18 | const wasMocked = mockSpies.some(spy => spy.mock.calls.length > 0);
|
19 |
|
20 | const wasRestored = restoreSpy.mock.calls.length > 0;
|
21 |
|
22 | return wasMocked && !wasRestored;
|
23 | }
|
24 |
|
25 | const augmentedFetchMock = fetchMock as AugmentedFetchMock;
|
26 | augmentedFetchMock.isMocked = isMocked;
|
27 |
|
28 | export default augmentedFetchMock;
|