summaryrefslogtreecommitdiffstats
path: root/test/jest/mock-scope.test.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/jest/mock-scope.test.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/jest/mock-scope.test.js b/test/jest/mock-scope.test.js
new file mode 100644
index 0000000..cab77f6
--- /dev/null
+++ b/test/jest/mock-scope.test.js
@@ -0,0 +1,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)