UNPKG

@unito/integration-cli

Version:

Integration CLI

46 lines (45 loc) 2.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const test_1 = require("@oclif/test"); const child_process_1 = tslib_1.__importDefault(require("child_process")); const errors_1 = require("../../src/errors"); describe('Upgrade', () => { beforeEach(() => { process.env.NODE_MODULES_FOLDER = '/path/to/node_modules'; }); afterEach(() => { process.env.NODE_MODULES_FOLDER = undefined; }); test_1.test .stdout() .stub(child_process_1.default, 'execSync', stub => stub.onCall(0).returns('1').onCall(1).returns('2').onCall(2).returns('ok')) .command(['upgrade']) .it('upgrades the CLI', ctx => { const execSyncStub = child_process_1.default.execSync; (0, test_1.expect)(execSyncStub.callCount).to.equal(3); (0, test_1.expect)(execSyncStub.getCall(0).args.at(0).split(' ').slice(0, 2)).to.deep.equal(['npm', 'list']); (0, test_1.expect)(execSyncStub.getCall(1).args.at(0).split(' ').slice(0, 2)).to.deep.equal(['npm', 'show']); (0, test_1.expect)(execSyncStub.getCall(2).args.at(0).split(' ').slice(0, 3)).to.deep.equal(['npm', 'install', '--force']); (0, test_1.expect)(ctx.stdout).to.include('Upgraded'); }); test_1.test .stdout() .stub(child_process_1.default, 'execSync', stub => stub.onCall(0).returns('1').onCall(1).returns('1')) .command(['upgrade']) .it('validates the CLI', ctx => { const execSyncStub = child_process_1.default.execSync; (0, test_1.expect)(execSyncStub.callCount).to.equal(3); (0, test_1.expect)(execSyncStub.getCall(0).args.at(0).split(' ').slice(0, 2)).to.deep.equal(['npm', 'list']); (0, test_1.expect)(execSyncStub.getCall(1).args.at(0).split(' ').slice(0, 2)).to.deep.equal(['npm', 'show']); (0, test_1.expect)(execSyncStub.getCall(2).args.at(0).split(' ').slice(0, 3)).to.deep.equal(['npm', 'install', '--force']); (0, test_1.expect)(ctx.stdout).to.include('valid'); }); test_1.test .stdout() .stderr() .stub(child_process_1.default, 'execSync', stub => stub.throws(new errors_1.ConfigurationMalformed())) .command(['upgrade']) .exit(-1) .it('handle exception'); });