@maklja90/chaijs-rxjs-observable-spy
Version:
ChaiJS extension for testing RxJS observables
29 lines (28 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.clearInvokedTimeout = exports.refreshInvokeTimeout = void 0;
var rxjs_observable_spy_1 = require("@maklja90/rxjs-observable-spy");
var chaiPlugin_1 = require("../chaiPlugin");
var observableName_1 = require("./observableName");
var TIMEOUT_ID_KEY = '__observable_spy_timeoutId__';
var GUARD_NAME = 'observableSpyGuard';
function refreshInvokeTimeout(assertionStatic, chai, utils) {
var spyConfig = utils.flag(chai, chaiPlugin_1.OBSERVABLE_SPY_CONFIG_KEY);
if (!spyConfig.forgottenSubscriptionError) {
return;
}
clearInvokedTimeout(assertionStatic, utils);
var newTimeout = setTimeout(function () {
throw new rxjs_observable_spy_1.ObservableSpyAssertionError((0, rxjs_observable_spy_1.formatMessage)(GUARD_NAME, 'found not subscribed observable in test', (0, observableName_1.retrieveObservableName)(assertionStatic, utils)));
}, spyConfig.forgottenSubscriptionTimeout);
utils.flag(assertionStatic, TIMEOUT_ID_KEY, newTimeout);
}
exports.refreshInvokeTimeout = refreshInvokeTimeout;
function clearInvokedTimeout(assertionStatic, utils) {
var timeout = utils.flag(assertionStatic, TIMEOUT_ID_KEY);
if (timeout) {
clearTimeout(timeout);
utils.flag(assertionStatic, TIMEOUT_ID_KEY, null);
}
}
exports.clearInvokedTimeout = clearInvokedTimeout;