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()
|