You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
842 B
29 lines
842 B
import { describe, expect, it } from '@jest/globals'
|
|
import settle from './settle.js'
|
|
|
|
describe('settle', () => {
|
|
it('should resolve even if all input promises reject', async () => {
|
|
await expect(
|
|
settle([
|
|
Promise.reject(new Error('oops')),
|
|
Promise.reject(new Error('this went wrong')),
|
|
]),
|
|
).resolves.toMatchObject({
|
|
successful: [],
|
|
failed: [new Error('oops'), new Error('this went wrong')],
|
|
})
|
|
})
|
|
|
|
it('should resolve with an object if some input promises resolve', async () => {
|
|
await expect(
|
|
settle([
|
|
Promise.reject(new Error('rejected')),
|
|
Promise.resolve('resolved'),
|
|
Promise.resolve('also-resolved'),
|
|
]),
|
|
).resolves.toMatchObject({
|
|
successful: ['resolved', 'also-resolved'],
|
|
failed: [new Error('rejected')],
|
|
})
|
|
})
|
|
})
|
|
|