UNPKG

@maklja90/chaijs-rxjs-observable-spy

Version:

ChaiJS extension for testing RxJS observables

114 lines (113 loc) 6.74 kB
"use strict"; 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); }); }; });