ts-mock-imports
Version:
Intuitive mocking for Typescript class imports
41 lines • 1.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImportMock = void 0;
var sinonModule = require("sinon");
var index_1 = require("./managers/index");
var sinon = sinonModule;
var ImportMock = (function () {
function ImportMock() {
}
ImportMock.mockClass = function (module, importName) {
if (importName === void 0) { importName = 'default'; }
return ImportMock.sandbox(new index_1.MockManager(module, importName));
};
ImportMock.mockClassInPlace = function (module, importName) {
if (importName === void 0) { importName = 'default'; }
return ImportMock.sandbox(new index_1.InPlaceMockManager(module, importName));
};
ImportMock.mockStaticClass = function (module, importName) {
if (importName === void 0) { importName = 'default'; }
return ImportMock.sandbox(new index_1.StaticMockManager(module, importName));
};
ImportMock.mockFunction = function (module, importName, returns) {
if (importName === void 0) { importName = 'default'; }
return ImportMock.sandbox(sinon.stub(module, importName).returns(returns));
};
ImportMock.mockOther = function (module, importName, replaceWith) {
return ImportMock.sandbox(new index_1.OtherManager(module, importName || 'default', replaceWith));
};
ImportMock.restore = function () {
ImportMock.sandboxedItems.forEach(function (item) { return item.restore(); });
ImportMock.sandboxedItems = [];
};
ImportMock.sandbox = function (mock) {
ImportMock.sandboxedItems.push(mock);
return mock;
};
ImportMock.sandboxedItems = [];
return ImportMock;
}());
exports.ImportMock = ImportMock;
//# sourceMappingURL=import-mock.js.map