const Module = require('module'); const originalRequireFn = Module.prototype.require; /** * helper fn to mock non-existent modules * mocks.modules.mockNonExistentModule(/pattern/, mockedModule) */ exports.mockNonExistentModule = (modulePath, module, error = false) => { Module.prototype.require = function (path) { if (path.match(modulePath)) { if (error) { throw module; } return module; } return originalRequireFn.apply(this, arguments); }; }; exports.unmockNonExistentModule = () => { Module.prototype.require = originalRequireFn; };