title: Simple fetch mock using Typescript and Jest
body: <p>What would be my absolute <em>easiest</em> way of mocking fetch using Typescript?</p>
  <p>I would just like to do something simple like below. But Typescript tells me that I'm not matching the definition for the full fetch object.</p>
  <pre><code>Type 'Mock&lt;Promise&lt;{ json: () =&gt; Promise&lt;{ test: number; }&gt;; }&gt;, []&gt;' is not assignable to type '(input: RequestInfo, init?: RequestInit | undefined) =&gt; Promise&lt;Response&gt;'.
     Type 'Promise&lt;{ json: () =&gt; Promise&lt;{ test: number; }&gt;; }&gt;' is not assignable to type 'Promise&lt;Response&gt;'.
       Type '{ json: () =&gt; Promise&lt;{ test: number; }&gt;; }' is missing the following properties from type 'Response': headers, ok, redirected, status, and 11 more.
  </code></pre>
  <p>What would be the simplest solution to get around this? Actually mock out the whole fetch object or other solution?</p>
  <pre><code>global.fetch = jest.fn(() =&gt;
    Promise.resolve({
      json: () =&gt; Promise.resolve({ test: 100 }),
    }),
  )
  </code></pre>