UNPKG

@novo-learning/novo-sdk

Version:

SDK for the Novolanguage Speech Analysis API

30 lines (25 loc) 1.09 kB
import { Deferred } from '../../../src/clients/speech-api/utils/deferred.promise'; import { promiseTimeout } from '../../../src/clients/speech-api/utils/timeout.promise'; jest.spyOn(global, 'setTimeout'); describe('Time-out promise', () => { it('should resolve true when the promise resolves within time', () => { const deferred = new Deferred(); const toPromise = promiseTimeout(1000, deferred.promise); deferred.resolve(true); return expect(toPromise).resolves.toBeTruthy(); }); it('should resolve false when the promise rejects within time', () => { const deferred = new Deferred(); const toPromise = promiseTimeout(1000, deferred.promise); deferred.reject(true); return expect(toPromise).resolves.toBeFalsy(); }); it('should resolve false when the promise does not resolve or reject within time', () => { jest.useFakeTimers(); const deferred = new Deferred(); const toPromise = promiseTimeout(1000, deferred.promise); jest.runAllTimers(); jest.useRealTimers(); return expect(toPromise).resolves.toBeFalsy(); }); });