/// import { fetch, Request, RequestInit, Response, Body, BodyInit, Headers, HeadersInit, URL, URLSearchParams, URLSearchParamsInit, } from '../packages/apollo-server-env'; interface FetchMock extends jest.Mock { mockResponseOnce(data?: any, headers?: HeadersInit, status?: number); mockJSONResponseOnce(data?: object, headers?: HeadersInit); } const mockFetch = jest.fn(fetch) as FetchMock; mockFetch.mockResponseOnce = ( data?: BodyInit, headers?: Headers, status: number = 200, ) => { return mockFetch.mockImplementationOnce(async () => { return new Response(data, { status, headers, }); }); }; mockFetch.mockJSONResponseOnce = ( data = {}, headers?: Headers, status?: number, ) => { return mockFetch.mockResponseOnce( JSON.stringify(data), Object.assign({ 'Content-Type': 'application/json' }, headers), status, ); }; export { mockFetch as fetch, Request, RequestInit, Response, Body, BodyInit, Headers, HeadersInit, URL, URLSearchParams, URLSearchParamsInit, };