UNPKG

@unito/integration-cli

Version:

Integration CLI

59 lines (58 loc) 3.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const test_1 = require("@oclif/test"); const sinon_1 = tslib_1.__importDefault(require("sinon")); const inquirer_1 = tslib_1.__importDefault(require("inquirer")); const GlobalConfiguration = tslib_1.__importStar(require("../../src/resources/globalConfiguration")); const IntegrationsPlatform = tslib_1.__importStar(require("../../src/services/integrationsPlatform")); const IntegrationResource = tslib_1.__importStar(require("../../src/resources/integrations")); const IntegrationConfiguration = tslib_1.__importStar(require("../../src/resources/configuration")); const integrations_1 = require("../helpers/integrations"); describe('invite', () => { const integration = (0, integrations_1.generateIntegration)(); beforeEach(() => { sinon_1.default.stub(IntegrationResource, 'validateIsIntegrationDirectory'); sinon_1.default.stub(IntegrationsPlatform, 'setEnvironment'); sinon_1.default.stub(IntegrationsPlatform, 'setApiKey'); sinon_1.default.stub(IntegrationsPlatform, 'inviteUserToIntegration'); sinon_1.default.stub(inquirer_1.default, 'prompt').resolves({ email: 'foo@bar.com' }); sinon_1.default.stub(IntegrationConfiguration, 'getConfiguration').resolves({ name: 'integrationName' }); }); afterEach(() => { sinon_1.default.restore(); }); test_1.test .stdout() .stub(GlobalConfiguration, 'read', stub => stub.returns({ email: 'foo@bar.com' })) .stub(IntegrationsPlatform, 'getIntegrationByName', stub => stub.resolves(integration)) .command(['invite']) .it('invites user - default', ctx => { (0, test_1.expect)(ctx.stdout).to.contains('User successfully added!'); }); test_1.test .stdout() .stub(GlobalConfiguration, 'read', stub => stub.returns({ email: 'foo@bar.com' })) .stub(IntegrationsPlatform, 'getIntegrationByName', stub => stub.resolves(integration)) .command(['invite', '--environment', 'staging']) .it('invites user - staging', ctx => { (0, test_1.expect)(ctx.stdout).to.contains('User successfully added!'); }); test_1.test .stdout() .stub(GlobalConfiguration, 'read', stub => stub.returns({ email: 'foo@bar.com' })) .stub(IntegrationsPlatform, 'getIntegrationByName', stub => stub.resolves(integration)) .command(['invite', '--environment', 'local']) .it('invites user - local', ctx => { (0, test_1.expect)(ctx.stdout).to.contains('User successfully added!'); }); test_1.test .stdout() .stub(GlobalConfiguration, 'read', stub => stub.returns({ email: 'foo@bar.com' })) .stub(IntegrationsPlatform, 'getIntegrationByName', stub => stub.throws(new Error())) .command(['invite']) .catch(error => { (0, test_1.expect)(error.message).to.equal('EEXIT: -1'); }) .it('handles unpublished integration'); });