summaryrefslogtreecommitdiffstats
path: root/test/jest/mock-scope.test.js
blob: cab77f6b11221898f839349d16eebfbbb017cb0e (plain)
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
const { MockAgent, setGlobalDispatcher, request } = require('../../index')

/* global afterAll, expect, it, AbortController */

const runIf = (condition) => condition ? it : it.skip

const nodeMajor = Number(process.versions.node.split('.', 1)[0])
const mockAgent = new MockAgent()

afterAll(async () => {
  await mockAgent.close()
})

runIf(nodeMajor >= 16)('Jest works with MockScope.delay - issue #1327', async () => {
  mockAgent.disableNetConnect()
  setGlobalDispatcher(mockAgent)

  const mockPool = mockAgent.get('http://localhost:3333')

  mockPool.intercept({
    path: '/jest-bugs',
    method: 'GET'
  }).reply(200, 'Hello').delay(100)

  const ac = new AbortController()
  setTimeout(() => ac.abort(), 5)
  const promise = request('http://localhost:3333/jest-bugs', {
    signal: ac.signal
  })

  await expect(promise).rejects.toThrowError('Request aborted')
}, 1000)