dev-toolkit
Version:
Universal Development Toolkit for React Veterans
142 lines (122 loc) • 4.64 kB
JavaScript
;
var _chai = require("chai");
var _yargs = _interopRequireDefault(require("yargs"));
var _sandbox = _interopRequireDefault(require("dist/utilities/testHelpers/sandbox"));
var _index = require("./index");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('dev-toolkit', function () {
describe('outputs current version', function () {
it('when given `-v` argument', function () {
_sandbox.default.spy(console, 'log');
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '-v'],
runCommand: function runCommand() {}
});
(0, _chai.expect)(console.log.calledOnce).to.equal(true);
});
it('when given `--version` argument', function () {
_sandbox.default.spy(console, 'log');
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '--version'],
runCommand: function runCommand() {}
});
(0, _chai.expect)(console.log.calledOnce).to.equal(true);
});
});
describe('runs the watch script', function () {
var processedArgs = _yargs.default.alias('w', 'watch').parse(['dev-toolkit', '-w']);
var expectedOutput = {
script: 'watch',
message: 'Watching files for development',
args: [processedArgs.watch]
};
it('when given `-w` argument', function () {
var runCommand = _sandbox.default.spy();
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '-w'],
runCommand: runCommand
});
(0, _chai.expect)(runCommand.calledWith(expectedOutput)).to.equal(true);
});
it('when given `--watch` argument', function () {
var runCommand = _sandbox.default.spy();
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '--watch'],
runCommand: runCommand
});
(0, _chai.expect)(runCommand.calledWith(expectedOutput)).to.equal(true);
});
});
describe('runs the serve script', function () {
var processedArgs = _yargs.default.alias('s', 'serve').parse(['dev-toolkit', '-s']);
var expectedOutput = {
script: 'serve',
message: 'Watching files for development',
args: [processedArgs.serve]
};
it('when given `-s` argument', function () {
var runCommand = _sandbox.default.spy();
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '-s'],
runCommand: runCommand
});
(0, _chai.expect)(runCommand.calledWith(expectedOutput)).to.equal(true);
});
it('when given `--serve` argument', function () {
var runCommand = _sandbox.default.spy();
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '--serve'],
runCommand: runCommand
});
(0, _chai.expect)(runCommand.calledWith(expectedOutput)).to.equal(true);
});
});
describe('runs the serveStatic script', function () {
var processedArgs = _yargs.default.alias('static', 'serve-static').parse(['dev-toolkit', '--static']);
var expectedOutput = {
script: 'serveStatic',
message: 'Serving the /build folder using a minimal server',
args: [processedArgs['serve-static']]
};
it('when given `--static` argument', function () {
var runCommand = _sandbox.default.spy();
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '--static'],
runCommand: runCommand
});
(0, _chai.expect)(runCommand.calledWith(expectedOutput)).to.equal(true);
});
it('when given `--serve-static` argument', function () {
var runCommand = _sandbox.default.spy();
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '--serve-static'],
runCommand: runCommand
});
(0, _chai.expect)(runCommand.calledWith(expectedOutput)).to.equal(true);
});
});
describe('runs the init script', function () {
var processedArgs = _yargs.default.alias('i', 'init').parse(['dev-toolkit', '-i']);
var expectedOutput = {
script: 'init',
message: 'Initialising new project',
args: [processedArgs.init]
};
it('when given `-i` argument', function () {
var runCommand = _sandbox.default.spy();
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '-i'],
runCommand: runCommand
});
(0, _chai.expect)(runCommand.calledWith(expectedOutput)).to.equal(true);
});
it('when given `--init` argument', function () {
var runCommand = _sandbox.default.spy();
(0, _index.devToolkit)({
cmdArgs: ['dev-toolkit', '--init'],
runCommand: runCommand
});
(0, _chai.expect)(runCommand.calledWith(expectedOutput)).to.equal(true);
});
});
});