smartpromise/test/test.ts

37 lines
1.1 KiB
TypeScript
Raw Normal View History

2017-07-06 12:10:18 +00:00
import { expect, tap } from 'tapbundle'
2017-01-17 14:28:28 +00:00
import * as q from '../dist/index'
2017-01-28 15:37:54 +00:00
let myCallback = (someValue1: string, cb?) => {
2017-07-06 12:10:18 +00:00
cb(null, someValue1)
2017-01-28 15:37:54 +00:00
}
2017-07-06 12:10:18 +00:00
tap.test('should return a Deferred for .defer()', async () => {
let myDeferred = q.defer()
let expectPromise = expect(myDeferred.promise).to.eventually.be.fulfilled
myDeferred.resolve()
return expectPromise
})
2017-01-17 14:28:28 +00:00
2017-07-06 12:10:18 +00:00
tap.test('should let types flow through the Promise', async () => {
let myString = 'someString'
let myDeferred = q.defer<string>()
let expectPromise = expect(myDeferred.promise).to.eventually.equal('someString')
myDeferred.resolve(myString)
return expectPromise
})
2017-01-28 15:37:54 +00:00
2017-07-06 12:10:18 +00:00
tap.test('should promisify a callback', async () => {
let myPromisified = q.promisify(myCallback)
let expectPromise = expect(myPromisified('hi')).to.eventually.equal('hi')
return await expectPromise
})
2017-01-28 15:37:54 +00:00
2017-07-06 12:10:18 +00:00
tap.test('should map callbacks', async () => {
let inputArray = ['hi', 'awesome']
let myPromisified = q.promisify(myCallback)
let expectPromise = expect(q.map(inputArray, myPromisified)).to.eventually.deep.equal(inputArray)
return expectPromise
2017-01-28 15:37:54 +00:00
})
2017-07-06 12:10:18 +00:00
tap.start()