UNPKG

safe-mock

Version:

Type Safe Mocking Library written for Typescript and Javascript

98 lines (97 loc) 4.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _setStubbedActionNoArgsSymbol_1 = require("./_setStubbedActionNoArgsSymbol"); var StubbedActionMatcher_1 = require("./StubbedActionMatcher"); var _setReturnValue = Symbol('_setReturnValue'); exports.whenInTests = function (whenArg) { if (whenArg[_setStubbedActionNoArgsSymbol_1.default]) { return new SafeMockReturnSetter(whenArg[_setStubbedActionNoArgsSymbol_1.default]); } if (whenArg[_setReturnValue] === undefined) { throw new Error("Whoops! Looks like you called `when` incorrectly. Make sure you create a Mock First!"); } return new SafeMockReturnSetter(whenArg[_setReturnValue]); }; var SafeMockReturnSetter = /** @class */ (function () { function SafeMockReturnSetter(stubbedActionSetter) { this.stubbedActionSetter = stubbedActionSetter; } SafeMockReturnSetter.prototype.resolve = function (resolvedValue) { this.stubbedActionSetter(StubbedActionMatcher_1.ResolvedPromiseAction.of(resolvedValue)); }; SafeMockReturnSetter.prototype.reject = function (rejection) { this.stubbedActionSetter(StubbedActionMatcher_1.RejectedPromiseAction.of(rejection)); }; SafeMockReturnSetter.prototype.return = function (returnValue) { this.stubbedActionSetter(StubbedActionMatcher_1.ReturnValueAction.of(returnValue)); }; SafeMockReturnSetter.prototype.throw = function (valueToThrow) { this.stubbedActionSetter(StubbedActionMatcher_1.ThrowingAction.of(valueToThrow)); }; return SafeMockReturnSetter; }()); function valueIfNoReturnValueSet(whyNoMatch, futureReturnValueSetter) { var notMockedYetExceptionThrower = function hasNotBeenMockedYet() { throw new Error(whyNoMatch.reasonAndAdvice()); }; var ValueIfNoReturnValueSet = /** @class */ (function () { function ValueIfNoReturnValueSet() { } ValueIfNoReturnValueSet.prototype.get = function (target, propertyKey, receiver) { if (propertyKey === _setStubbedActionNoArgsSymbol_1.default) return undefined; if (propertyKey === _setReturnValue) { return futureReturnValueSetter; } if (propertyKey === "toString") { return function () { return whyNoMatch.reasonAndAdvice(); }; } return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.set = function (target, p, value, receiver) { notMockedYetExceptionThrower(); return false; }; ValueIfNoReturnValueSet.prototype.getPrototypeOf = function (target) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.setPrototypeOf = function (target, v) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.isExtensible = function (target) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.preventExtensions = function (target) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.getOwnPropertyDescriptor = function (target, p) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.has = function (target, p) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.deleteProperty = function (target, p) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.defineProperty = function (target, p, attributes) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.enumerate = function (target) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.ownKeys = function (target) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.apply = function (target, thisArg, argArray) { return notMockedYetExceptionThrower(); }; ValueIfNoReturnValueSet.prototype.construct = function (target, thisArg, argArray) { return notMockedYetExceptionThrower(); }; return ValueIfNoReturnValueSet; }()); return new Proxy(notMockedYetExceptionThrower, new ValueIfNoReturnValueSet()); } exports.valueIfNoReturnValueSet = valueIfNoReturnValueSet;