@maklja90/chaijs-rxjs-observable-spy
Version:
ChaiJS extension for testing RxJS observables
114 lines (113 loc) • 6.74 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.OBSERVABLE_SPY_CONFIG_KEY = void 0;
var chaiConsumeNext_1 = require("./consume/chaiConsumeNext");
var chaiConsumeNextUntil_1 = require("./consume/chaiConsumeNextUntil");
var chaiError_1 = require("./error/chaiError");
var chaiConsumeError_1 = require("./error/chaiConsumeError");
var chaiNext_1 = require("./next/chaiNext");
var chaiNextCount_1 = require("./next/chaiNextCount");
var chaiNextMatches_1 = require("./next/chaiNextMatches");
var chaiNextMatchesUntil_1 = require("./next/chaiNextMatchesUntil");
var chaiSkipCount_1 = require("./skip/chaiSkipCount");
var chaiSkipUntil_1 = require("./skip/chaiSkipUntil");
var chaiComplete_1 = require("./complete/chaiComplete");
var chaiVerify_1 = require("./verify/chaiVerify");
var chaiVerifyComplete_1 = require("./complete/chaiVerifyComplete");
var chaiAwaitComplete_1 = require("./complete/chaiAwaitComplete");
var chaiAwaitSingle_1 = require("./complete/chaiAwaitSingle");
var chaiEmit_1 = require("./emit/chaiEmit");
var chaiObservableSpy_1 = require("./emit/chaiObservableSpy");
var isObservable_1 = require("./observable/isObservable");
var chaiVirtualTime_1 = require("./virtualTime/chaiVirtualTime");
exports.OBSERVABLE_SPY_CONFIG_KEY = '_observableSpyPluginConfig';
exports.default = (function (config) {
if (config === void 0) { config = {
forgottenSubscriptionError: true,
forgottenSubscriptionTimeout: 2000,
}; }
return function (chai, utils) {
var Assertion = chai.Assertion;
utils.flag(chai, exports.OBSERVABLE_SPY_CONFIG_KEY, __assign({}, config));
Assertion.addMethod(chaiNext_1.NEXT_KEYWORD, function (expectedNextValue, stepName) {
chaiNext_1.chaiNext.call(this, chai, utils, expectedNextValue, stepName);
});
Assertion.addMethod(chaiNextCount_1.NEXT_COUNT_KEYWORD, function (expectedCount, stepName) {
chaiNextCount_1.chaiNextCount.call(this, chai, utils, expectedCount, stepName);
});
Assertion.addMethod(chaiSkipCount_1.SKIP_COUNT_KEYWORD, function (expectedCount, stepName) {
chaiSkipCount_1.chaiSkipCount.call(this, chai, utils, expectedCount, stepName);
});
Assertion.addMethod(chaiSkipUntil_1.SKIP_UNTIL_KEYWORD, function (conditionCallback, stepName) {
chaiSkipUntil_1.chaiSkipUntil.call(this, chai, utils, conditionCallback, stepName);
});
Assertion.addMethod(chaiNextMatches_1.NEXT_MATCHES_KEYWORD, function (assertCallback, stepName) {
chaiNextMatches_1.chaiNextMatches.call(this, chai, utils, assertCallback, stepName);
});
Assertion.addMethod(chaiNextMatchesUntil_1.NEXT_MATCHES_UNTIL_KEYWORD, function (assertCallback, untilCondition, stepName) {
chaiNextMatchesUntil_1.chaiNextMatchesUntil.call(this, chai, utils, assertCallback, untilCondition, stepName);
});
Assertion.addMethod(chaiConsumeNext_1.CONSUME_NEXT_KEYWORD, function (assertCallback, stepName) {
chaiConsumeNext_1.chaiConsumeNext.call(this, chai, utils, assertCallback, stepName);
});
Assertion.addMethod(chaiConsumeNextUntil_1.CONSUME_NEXT_UNTIL_KEYWORD, function (assertCallback, stepName) {
chaiConsumeNextUntil_1.chaiConsumeNextUntil.call(this, chai, utils, assertCallback, stepName);
});
Assertion.addMethod(chaiError_1.ERROR_KEYWORD, function (expectedErrorType, errorMessage, stepName) {
chaiError_1.chaiError.call(this, stepName !== null && stepName !== void 0 ? stepName : chaiError_1.ERROR_KEYWORD, chai, utils, expectedErrorType, errorMessage);
});
Assertion.addMethod(chaiError_1.ERROR_TYPE_KEYWORD, function (expectedErrorType, stepName) {
chaiError_1.chaiError.call(this, stepName !== null && stepName !== void 0 ? stepName : chaiError_1.ERROR_TYPE_KEYWORD, chai, utils, expectedErrorType);
});
Assertion.addMethod(chaiError_1.ERROR_MESSAGE_KEYWORD, function (errorMessage, stepName) {
chaiError_1.chaiError.call(this, stepName !== null && stepName !== void 0 ? stepName : chaiError_1.ERROR_MESSAGE_KEYWORD, chai, utils, undefined, errorMessage);
});
Assertion.addMethod(chaiConsumeError_1.CONSUME_ERROR_KEYWORD, function (consumeErrorCallback, stepName) {
chaiConsumeError_1.chaiConsumeError.call(this, chai, utils, consumeErrorCallback, stepName);
});
Assertion.addMethod(chaiVerifyComplete_1.VERIFY_COMPLETE_KEYWORD, function (stepName) {
return chaiVerifyComplete_1.chaiVerifyComplete.call(this, utils, stepName);
});
Assertion.addMethod(chaiComplete_1.COMPLETE_KEYWORD, function (stepName) {
chaiComplete_1.chaiComplete.call(this, utils, stepName);
});
Assertion.addMethod(chaiVerify_1.VERIFY_KEYWORD, function () {
return chaiVerify_1.chaiVerify.call(this, utils);
});
Assertion.addMethod(chaiAwaitComplete_1.AWAIT_COMPLETE_KEYWORD, function (callback, stepName) {
return chaiAwaitComplete_1.chaiAwaitComplete.call(this, utils, callback, stepName);
});
Assertion.addMethod(chaiAwaitSingle_1.AWAIT_SINGLE, function (stepName) {
return chaiAwaitSingle_1.chaiAwaitSingle.call(this, utils, stepName);
});
Assertion.addMethod(chaiObservableSpy_1.O_SPY_KEYWORD, function (name) {
chaiObservableSpy_1.chaiObservableSpy.call(this, chaiObservableSpy_1.O_SPY_KEYWORD, chai, utils, name);
});
Assertion.addMethod(chaiObservableSpy_1.OBSERVABLE_SPY_KEYWORD, function (name) {
chaiObservableSpy_1.chaiObservableSpy.call(this, chaiObservableSpy_1.OBSERVABLE_SPY_KEYWORD, chai, utils, name);
});
Assertion.addProperty(chaiEmit_1.EMIT_KEYWORD, function () {
chaiEmit_1.chaiEmit.call(this, chai, utils);
});
Assertion.addProperty('then', function () {
// not functional
});
Assertion.addProperty(chaiVirtualTime_1.VIRTUAL_TIME_KEYWORD, function () {
chaiVirtualTime_1.chaiVirtualTime.call(this, chai, utils);
});
Assertion.addMethod(isObservable_1.OBSERVABLE_KEYWORD, function () {
isObservable_1.chaiObservable.call(this);
});
};
});