smartpromise/test/test.ts

39 lines
1.2 KiB
TypeScript
Raw Normal View History

2017-01-17 14:28:28 +00:00
import 'typings-test'
2017-01-28 15:37:54 +00:00
import { expect } from 'smartchai'
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?) => {
cb(null, someValue1)
}
describe('smartq', function () {
it('should return a Deferred for .defer()', function () {
2017-01-17 14:28:28 +00:00
let myDeferred = q.defer()
2017-01-28 15:37:54 +00:00
let expectPromise = expect(myDeferred.promise).to.eventually.be.fulfilled
2017-01-17 14:28:28 +00:00
myDeferred.resolve()
2017-01-28 15:37:54 +00:00
return expectPromise
2017-01-17 14:28:28 +00:00
})
2017-01-28 15:37:54 +00:00
it('should let types flow through the Promise', function () {
2017-01-17 14:28:28 +00:00
let myString = 'someString'
let myDeferred = q.defer<string>()
2017-01-28 15:37:54 +00:00
let expectPromise = expect(myDeferred.promise).to.eventually.equal('someString')
2017-01-17 14:28:28 +00:00
myDeferred.resolve(myString)
2017-01-28 15:37:54 +00:00
return expectPromise
})
it('should promisify a callback', function () {
let myPromisified = q.promisify(myCallback)
let expectPromise = expect(myPromisified('hi')).to.eventually.equal('hi')
return expectPromise
})
it('should map callbacks', function() {
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-17 14:28:28 +00:00
})
2017-01-28 15:37:54 +00:00
})