UNPKG

@unito/integration-cli

Version:

Integration CLI

44 lines (43 loc) 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const test_1 = require("@oclif/test"); const inquirer_1 = tslib_1.__importDefault(require("inquirer")); const sinon = tslib_1.__importStar(require("sinon")); const IntegrationResource = tslib_1.__importStar(require("../../src/resources/integrations")); const Configuration = tslib_1.__importStar(require("../../src/resources/configuration")); describe('init', () => { beforeEach(() => { // eslint-disable-next-line sinon.stub(Configuration, 'getConfiguration').returns({}); sinon.stub(Configuration, 'writeConfiguration'); }); afterEach(() => { sinon.restore(); }); test_1.test .stub(inquirer_1.default, 'prompt', stub => stub.resolves({ name: 'myIntegration' })) .stub(IntegrationResource, 'copyBoilerplate', stub => stub.returns('/my/super/path/myIntegration')) .stub(process, 'chdir', stub => stub.returns('')) .stdout() .command(['init']) .it('runs init', ctx => { (0, test_1.expect)(ctx.stdout).to.contain('Your integration is available at'); }); test_1.test .stub(IntegrationResource, 'copyBoilerplate', stub => stub.returns('/my/super/path/myIntegration')) .stub(process, 'chdir', stub => stub.returns('')) .stdout() .command(['init', '-n', 'myIntegration']) .it('runs init with flag', ctx => { (0, test_1.expect)(ctx.stdout).to.contain('Your integration is available at'); }); test_1.test .stub(IntegrationResource, 'copyBoilerplate', stub => stub.throws(new Error('boom!'))) .stdout() .command(['init', '-n', 'myIntegration']) .catch(ctx => { (0, test_1.expect)(ctx.message).to.equal('boom!'); }) .it('handle exception'); });