smartpromise/test/test.ts

31 lines
957 B
TypeScript
Raw Normal View History

2019-09-11 13:37:17 +00:00
import { expect, tap } from '@pushrocks/tapbundle';
2019-10-01 16:06:29 +00:00
import * as smartpromise from '../ts/index';
2017-01-17 14:28:28 +00:00
2017-07-06 12:10:18 +00:00
tap.test('should return a Deferred for .defer()', async () => {
2019-10-01 16:06:29 +00:00
const myDeferred = smartpromise.defer();
const expectPromise = expect(myDeferred.promise).to.eventually.be.fulfilled;
2018-03-16 09:24:12 +00:00
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 () => {
2019-10-01 16:06:29 +00:00
const myString = 'someString';
const myDeferred = smartpromise.defer<string>();
const expectPromise = expect(myDeferred.promise).to.eventually.equal('someString');
2018-03-16 09:24:12 +00:00
myDeferred.resolve(myString);
return expectPromise;
});
2017-01-28 15:37:54 +00:00
2017-07-06 12:10:18 +00:00
tap.test('should map callbacks', async () => {
2019-10-01 16:06:29 +00:00
const inputArray = ['hi', 'awesome'];
2020-10-15 18:14:53 +00:00
const myPromisified = async (myInput) => {
2019-03-26 11:07:12 +00:00
return myInput;
};
2020-10-15 18:14:53 +00:00
const expectPromise = expect(
smartpromise.map(inputArray, myPromisified)
).to.eventually.deep.equal(inputArray);
2018-03-16 09:24:12 +00:00
return expectPromise;
});
2017-07-06 12:10:18 +00:00
2018-03-16 09:24:12 +00:00
tap.start();