rewiremock
Version:
Advanced dependency mocking device.
34 lines (28 loc) • 801 B
JavaScript
import createPlugin from './_common';
import ModuleMock from "../mock";
import { fileExists } from "./common/utils";
var getDelimiter = function getDelimiter(path) {
var i1 = path.lastIndexOf('/');
var i2 = path.lastIndexOf('\\');
return i1 > i2 ? '/' : '\\';
};
var getMockName = function getMockName(path) {
var delimiter = getDelimiter(path);
var paths = path.split(delimiter);
paths.splice(paths.length - 1, 0, '__mocks__');
return paths.join(delimiter);
};
var autoMock = function autoMock(baseRequest) {
var mockName = getMockName(baseRequest);
if (!fileExists(mockName)) {
return false;
}
var mock = new ModuleMock({});
mock.by(mockName);
return mock.mock;
};
var plugin = createPlugin({
autoMock: autoMock,
name: 'directChild'
});
export default plugin;