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