UNPKG

@evil-gauss/core

Version:
30 lines 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const try_until_success_function_1 = require("./try-until-success.function"); const date_constant_1 = require("../../constants/date.constant"); const sleep_function_1 = require("./sleep.function"); jest.setTimeout(date_constant_1.defaultJestWaitingTime); test('tryUntilSuccess', async () => { const resolveTimeoutMs = 1000; const logicNoError = async () => { // eslint-disable-next-line no-promise-executor-return return new Promise(resolve => setTimeout(resolve, resolveTimeoutMs)); }; const onError = () => { return async () => { await (0, sleep_function_1.sleep)(resolveTimeoutMs); // eslint-disable-next-line prefer-promise-reject-errors return Promise.reject('foo'); }; }; let start = Date.now(); await expect((0, try_until_success_function_1.tryUntilSuccess)(() => logicNoError(), onError())).resolves.not.toThrow(); expect(Date.now() - start).toBeGreaterThanOrEqual(resolveTimeoutMs); const logicError = async () => { throw new Error(); }; start = Date.now(); await expect((0, try_until_success_function_1.tryUntilSuccess)(() => logicError(), onError())).rejects.toEqual('foo'); expect(Date.now() - start).toBeGreaterThanOrEqual(resolveTimeoutMs); }); //# sourceMappingURL=try-until-success.function.test.js.map