Files
smartpromise/test/test.ts

37 lines
1.1 KiB
TypeScript
Raw Normal View History

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