@unito/integration-cli
Version:
Integration CLI
46 lines (45 loc) • 2.31 kB
JavaScript
;
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');
});