Skip to content

Commit 24c264c

Browse files
jefflauloris
authored and
loris
committed
added timeout tests
1 parent d963d81 commit 24c264c

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

tests/test.js

+56
Original file line numberDiff line numberDiff line change
@@ -207,4 +207,60 @@ describe('request', () => {
207207
done()
208208
})
209209
})
210+
211+
it('resolves with function', async () => {
212+
fetch.mockResponseOnce(() => Promise.resolve({ body: 'ok' }))
213+
214+
try {
215+
const response = await request()
216+
expect(response).toEqual('ok')
217+
} catch (e) {
218+
throw e
219+
}
220+
})
221+
222+
it('resolves with function and timeout', async () => {
223+
fetch.mockResponseOnce(
224+
() => new Promise(resolve => setTimeout(() => resolve({ body: 'ok' }))),
225+
100
226+
)
227+
try {
228+
const response = await request()
229+
expect(response).toEqual('ok')
230+
} catch (e) {
231+
throw e
232+
}
233+
})
234+
235+
it('rejects with function', async () => {
236+
const errorData = {
237+
error:
238+
'Uh oh, something has gone wrong. Please tweet us @randomapi about the issue. Thank you.'
239+
}
240+
fetch.mockRejectOnce(() => Promise.reject(JSON.stringify(errorData)))
241+
try {
242+
await request()
243+
} catch (error) {
244+
expect(error.message).toBe(errorData.error)
245+
}
246+
})
247+
248+
it('rejects with function and timeout', async () => {
249+
const errorData = {
250+
error:
251+
'Uh oh, something has gone wrong. Please tweet us @randomapi about the issue. Thank you.'
252+
}
253+
fetch.mockRejectOnce(
254+
() =>
255+
new Promise((_, reject) =>
256+
setTimeout(() => reject(JSON.stringify(errorData)))
257+
),
258+
100
259+
)
260+
try {
261+
await request()
262+
} catch (error) {
263+
expect(error.message).toBe(errorData.error)
264+
}
265+
})
210266
})

0 commit comments

Comments
 (0)