import { hope } from '../index';
describe('hope promises', () => {
it('should call once', async () => {
const hopes = hope();
let callCount = 0;
const result = await hopes.once(async () => {
callCount++;
return 1;
});
const result2 = await hopes.once(async () => {
callCount++;
return 2;
});
const result3 = await hopes.once(async () => {
callCount++;
return 3;
});
expect(result).toBe(1);
expect(result2).toBe(1);
expect(result3).toBe(1);
expect(callCount).toBe(1);
});
it('should reject once', async () => {
const hopes = hope();
let callCount = 0;
hopes.once(async () => {
callCount++;
return await Promise.reject('buu');
});
let err = '';
try {
await hopes.once(async () => {
callCount++;
return 3;
});
} catch (e) {
err = e;
}
expect(callCount).toBe(1);
expect(err).toBe('buu');
});
it('should resolve with .resolve', async () => {
const hopes = hope();
hopes.resolve(1);
const result = await hopes.promise;
expect(result).toBe(1);
});
it('should reject with .reject', async () => {
const hopes = hope();
hopes.reject(1);
let err = '';
try {
await hopes.promise;
} catch (e) {
err = e;
}
expect(err).toBe(1);
});
});
``;
mental
0.26.97--180620213 • Public • PublishedVersions
Current Tags
- VersionDownloads (Last 7 Days)
- Tag
- 0.26.97--1806202131
- latest
Version History
- VersionDownloads (Last 7 Days)
- Published
- 0.26.97--1806202131
- 0.26.97--1806202120
- 0.26.97--1806202110
- 0.26.970
- 0.26.960
- 0.26.950
- 0.26.940
- 0.26.930
- 0.26.920
- 0.26.910
- 0.26.90
- 0.26.70
- 0.26.60
- 0.26.50
- 0.26.40
- 0.26.30
- 0.26.20
- 0.26.10
- 0.26.00
- 0.25.90
- 0.25.80
- 0.25.70
- 0.25.60
- 0.25.50
- 0.25.40
- 0.25.30
- 0.25.20
- 0.25.10
- 0.25.00
- 0.0.1-alpha-920
- 0.0.1-alpha-910
- 0.0.1-alpha-900
- 0.0.1-alpha-890
- 0.0.1-alpha-880
- 0.0.1-alpha-870
- 0.0.1-alpha-860
- 0.0.1-alpha-850
- 0.0.1-alpha-840
- 0.0.1-alpha-830
- 0.0.1-alpha-820
- 0.0.1-alpha-810
- 0.0.1-alpha-800
- 0.0.1-alpha-790
- 0.0.1-alpha-780
- 0.0.1-alpha-770
- 0.0.1-alpha-760
- 0.0.1-alpha-750
- 0.0.1-alpha-740
- 0.0.1-alpha-730
- 0.0.1-alpha-720
- 0.0.1-alpha-710
- 0.0.1-alpha-700
- 0.0.1-alpha-690
- 0.0.1-alpha-680
- 0.0.1-alpha-670
- 0.0.1-alpha-660
- 0.0.1-alpha-650
- 0.0.1-alpha-640
- 0.0.1-alpha-630
- 0.0.1-alpha-620
- 0.0.1-alpha-610
- 0.0.1-alpha-600
- 0.0.1-alpha-580
- 0.0.1-alpha-570
- 0.0.1-alpha-560
- 0.0.1-alpha-550
- 0.0.1-alpha-540
- 0.0.1-alpha-530
- 0.0.1-alpha-520
- 0.0.1-alpha-510
- 0.0.1-alpha-500
- 0.0.1-alpha-490
- 0.0.1-alpha-480
- 0.0.1-alpha-470
- 0.0.1-alpha-460
- 0.0.1-alpha-450
- 0.0.1-alpha-440
- 0.0.1-alpha-430
- 0.0.1-alpha-420
- 0.0.1-alpha-410
- 0.0.1-alpha-400
- 0.0.1-alpha-390
- 0.0.1-alpha-380
- 0.0.1-alpha-370
- 0.0.1-alpha-360
- 0.0.1-alpha-350
- 0.0.1-alpha-340
- 0.0.1-alpha-330
- 0.0.1-alpha-320
- 0.0.1-alpha-310
- 0.0.1-alpha-300
- 0.0.1-alpha-260
- 0.0.1-alpha-250
- 0.0.1-alpha-240
- 0.0.1-alpha-230
- 0.0.1-alpha-220
- 0.0.1-alpha-210
- 0.0.1-alpha-200
- 0.0.1-alpha-190
- 0.0.1-alpha-180
- 0.0.1-alpha-170
- 0.0.1-alpha-160
- 0.0.1-alpha-150
- 0.0.1-alpha-140
- 0.0.1-alpha-130
- 0.0.1-alpha-120
- 0.0.1-alpha-10
- 0.0.10
- 1.0.00
Package Sidebar
Install
npm i mental
Weekly Downloads
1
Version
0.26.97--180620213
License
ISC
Unpacked Size
7.05 kB
Total Files
6