@interaktiv/mibuilder-core
Version:
Core libraries to interact with MiBuilder projects.
59 lines (49 loc) • 2.46 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var path = _interopRequireWildcard(require("path"));
var _dxl = require("@interaktiv/dxl");
var _testSetup = require("../test-setup");
var _constants = require("./constants");
var _globalConfig = require("./global-config");
jest.mock('@interaktiv/dxl', () => (0, _extends2.default)({}, jest.requireActual('@interaktiv/dxl'), {
mkdirp: jest.fn(() => Promise.resolve())
})); // Setup the test environment.
(0, _testSetup.testSetup)();
describe('environmentMode', () => {
const mibuilderEnv = process.env.MIBUILDER_ENV;
afterAll(() => {
process.env.MIBUILDER_ENV = mibuilderEnv;
});
it('should use MIBUILDER_ENV mode', () => {
process.env.MIBUILDER_ENV = 'development';
expect((0, _globalConfig.getEnvironmentMode)()).toBe(_globalConfig.MODE_DEVELOPMENT);
expect((0, _globalConfig.getEnvironmentMode)()).not.toBe(_globalConfig.MODE_PRODUCTION);
expect((0, _globalConfig.getEnvironmentMode)()).not.toBe(_globalConfig.MODE_DEMO);
expect((0, _globalConfig.getEnvironmentMode)()).not.toBe(_globalConfig.MODE_TEST);
});
it('should use production by default', () => {
delete process.env.MIBUILDER_ENV;
expect((0, _globalConfig.getEnvironmentMode)()).not.toBe(_globalConfig.MODE_DEVELOPMENT);
expect((0, _globalConfig.getEnvironmentMode)()).toBe(_globalConfig.MODE_PRODUCTION);
expect((0, _globalConfig.getEnvironmentMode)()).not.toBe(_globalConfig.MODE_DEMO);
expect((0, _globalConfig.getEnvironmentMode)()).not.toBe(_globalConfig.MODE_TEST);
});
});
describe('createDir', () => {
beforeEach(() => {
_dxl.mkdirp.mockClear();
});
it('should create the global dir when no args passed', async () => {
await (0, _globalConfig.createDir)();
expect(_dxl.mkdirp).toHaveBeenCalledTimes(1);
expect(_dxl.mkdirp).toHaveBeenCalledWith(_constants.GLOBAL_CONFIG_DIR);
});
it('should create a dir within the global dir when a dirPath is passed', async () => {
const expected = path.join('some', 'dir', 'path');
await (0, _globalConfig.createDir)(expected);
expect(_dxl.mkdirp).toHaveBeenCalledTimes(1);
expect(_dxl.mkdirp).toHaveBeenCalledWith(path.join(_constants.GLOBAL_CONFIG_DIR, expected));
});
});