UNPKG

dev-toolkit

Version:

Universal Development Toolkit for React Veterans

142 lines (122 loc) 4.64 kB
"use strict"; 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); }); }); });