r8s-cli
Version:
A command line tool for Reaction Commerce to be used with kubernetes
86 lines (62 loc) • 2.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _forEach2 = require('lodash/forEach');
var _forEach3 = _interopRequireDefault(_forEach2);
var _pickBy2 = require('lodash/pickBy');
var _pickBy3 = _interopRequireDefault(_pickBy2);
var _omit2 = require('lodash/omit');
var _omit3 = _interopRequireDefault(_omit2);
exports.test = test;
var _os = require('os');
var _os2 = _interopRequireDefault(_os);
var _child_process = require('child_process');
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
var _utils = require('../utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function test(yargs) {
_utils.Log.args(yargs.argv);
var args = (0, _omit3.default)(yargs.argv, ['_', '$0']);
_utils.Log.info('Setting up plugin imports...\n');
(0, _utils.loadPlugins)();
_utils.Log.info('Setting up style imports...\n');
(0, _utils.loadStyles)();
var cmd = 'meteor test';
var subCommands = yargs.argv._;
var testArgs = (0, _pickBy3.default)((0, _omit3.default)(args, '$0'), function (val) {
return val !== false;
});
var hasArgs = Object.keys(testArgs).length > 0;
var onlyHasPort = Object.keys(testArgs).length === 1 && !!testArgs.p || !!testArgs.port;
if (hasArgs && !onlyHasPort) {
(0, _forEach3.default)(testArgs, function (val, key) {
var dash = key.length > 1 ? '--' : '-';
cmd += ' ' + (dash + key) + ' ' + val;
});
_utils.Log.info('Running custom test command:');
} else {
if (_os2.default.platform() !== 'win32') {
cmd = 'SERVER_TEST_REPORTER="dot" ' + cmd;
}
if (subCommands[1] === 'unit') {
cmd += ' --once --headless --driver-package dispatch:mocha';
_utils.Log.info('Running unit tests command:');
} else {
cmd += ' --once --full-app --headless --driver-package dispatch:mocha';
_utils.Log.info('Running full-app test command:');
}
if (onlyHasPort) {
var port = testArgs.port || testArgs.p;
cmd += ' --port ' + port.toString();
}
}
_utils.Log.info(_chalk2.default.green(' ' + cmd + '\n'));
try {
(0, _child_process.execSync)(cmd, { stdio: 'inherit' });
} catch (err) {
_utils.Log.error('\nTests failed.');
process.exit(1);
}
}
;