UNPKG

@hirez_io/auto-spies-core

Version:

Create automatic spies from classes in tests, also for promises and observables, used as a common code for jasmine-auto-spies and jest-auto-spies

71 lines 3.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addPromiseHelpersToCalledWithObject = exports.addPromiseHelpersToFunctionSpy = void 0; function addPromiseHelpersToFunctionSpy( // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types spyFunction, valueContainer) { spyFunction.resolveWith = function (value) { valueContainer.value = Promise.resolve(value); }; spyFunction.rejectWith = function (value) { valueContainer.value = value; valueContainer._isRejectedPromise = true; }; spyFunction.resolveWithPerCall = function resolveWithPerCall(valueConfigsPerCall) { /* istanbul ignore else */ if (valueConfigsPerCall && valueConfigsPerCall.length > 0) { valueContainer.valuesPerCalls = []; var returnedPromise_1; valueConfigsPerCall.forEach(function (valueConfiguration) { returnedPromise_1 = Promise.resolve(valueConfiguration.value); /* istanbul ignore else */ if (valueContainer.valuesPerCalls) { valueContainer.valuesPerCalls.push({ wrappedValue: returnedPromise_1, delay: valueConfiguration.delay, }); } }); } }; } exports.addPromiseHelpersToFunctionSpy = addPromiseHelpersToFunctionSpy; function addPromiseHelpersToCalledWithObject(calledWithObject, calledWithArgs) { var valueContainer; calledWithObject.resolveWith = function (value) { calledWithObject.argsToValuesMap.set(calledWithArgs, Promise.resolve(value)); valueContainer = { value: Promise.resolve(value), }; calledWithObject.argsToValuesMap.set(calledWithArgs, valueContainer); }; calledWithObject.rejectWith = function (value) { valueContainer = { value: value, _isRejectedPromise: true, }; calledWithObject.argsToValuesMap.set(calledWithArgs, valueContainer); }; calledWithObject.resolveWithPerCall = function resolveWithPerCall(valueConfigsPerCall) { valueContainer = { value: undefined }; /* istanbul ignore else */ if (valueConfigsPerCall && valueConfigsPerCall.length > 0) { valueContainer.valuesPerCalls = []; var returnedPromise_2; valueConfigsPerCall.forEach(function (valueConfiguration) { returnedPromise_2 = Promise.resolve(valueConfiguration.value); /* istanbul ignore else */ if (valueContainer.valuesPerCalls) { valueContainer.valuesPerCalls.push({ wrappedValue: returnedPromise_2, delay: valueConfiguration.delay, }); } }); calledWithObject.argsToValuesMap.set(calledWithArgs, valueContainer); } }; return calledWithObject; } exports.addPromiseHelpersToCalledWithObject = addPromiseHelpersToCalledWithObject; //# sourceMappingURL=promises-spy-utils.js.map