数通智联化工云平台
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

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')],
})
})
})