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