UNPKG

shallow-render

Version:

Shallow rendering test utility for Angular

36 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mockStatics = exports.InvalidStaticPropertyMockError = void 0; const custom_error_1 = require("../models/custom-error"); const test_framework_1 = require("../test-frameworks/test-framework"); class InvalidStaticPropertyMockError extends custom_error_1.CustomError { static checkMockForStaticProperties(stubs) { Object.keys(stubs).forEach(key => { if (typeof stubs[key] !== 'function') { throw new InvalidStaticPropertyMockError(key); } }); } constructor(key) { super(`Tried to mock the '${String(key)}' property but only functions are supported for static mocks.`); } } exports.InvalidStaticPropertyMockError = InvalidStaticPropertyMockError; const mockStatics = (setup) => { setup.staticMocks.forEach((stubs, obj) => { InvalidStaticPropertyMockError.checkMockForStaticProperties(stubs); Object.keys(stubs).forEach(key => { const stub = stubs[key]; if (!test_framework_1.testFramework.isSpy(obj[key])) { test_framework_1.testFramework.spyOn(obj, key, stub); } else { const spy = obj[key]; test_framework_1.testFramework.resetSpy(spy); test_framework_1.testFramework.mockImplementation(spy, stub); } }); }); }; exports.mockStatics = mockStatics; //# sourceMappingURL=mock-statics.js.map