@xylabs/promise
Version:
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
35 lines (29 loc) • 952 B
text/typescript
import '@xylabs/vitest-extended'
import {
describe, expect, it,
} from 'vitest'
import { rejected } from '../rejected.ts'
const getAllResolvedPromises = () => {
return Promise.allSettled([Promise.resolve('yes')])
}
const getAllRejectedPromises = () => {
return Promise.allSettled([Promise.reject('no')])
}
describe('rejected', () => {
it('returns true for rejected promises', async () => {
const results = await getAllRejectedPromises()
expect(results).toBeTruthy()
expect(results.length).toBe(1)
const filtered = results.filter(rejected)
expect(filtered).toBeArrayOfSize(1)
const value = filtered[0]
expect(value.reason).toBeTruthy()
})
it('returns false for resolved promises', async () => {
const results = await getAllResolvedPromises()
expect(results).toBeTruthy()
expect(results.length).toBe(1)
const filtered = results.filter(rejected)
expect(filtered).toBeArrayOfSize(0)
})
})