import { expect, tap } from 'tapbundle'; import * as q from '../ts/index'; let myCallback = (someValue1: string, cb?) => { cb(null, someValue1); }; 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; }); tap.test('should let types flow through the Promise', async () => { let myString = 'someString'; let myDeferred = q.defer(); let expectPromise = expect(myDeferred.promise).to.eventually.equal('someString'); myDeferred.resolve(myString); return expectPromise; }); tap.test('should promisify a callback', async () => { let myPromisified = q.promisify(myCallback); let expectPromise = expect(myPromisified('hi')).to.eventually.equal('hi'); return await expectPromise; }); 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; }); tap.start();