UNPKG

navy

Version:

Quick and powerful development environments using Docker and Docker Compose

54 lines (52 loc) 1.89 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _chai = require("chai"); var _sinon = _interopRequireDefault(require("sinon")); var _proxyquire = _interopRequireDefault(require("proxyquire")); /* eslint-env mocha */ describe('cli/run', function () { let sandbox; let getNavyStub; let navyStub; let run; beforeEach(function () { sandbox = _sinon.default.createSandbox(); navyStub = { ensurePluginsLoaded: sandbox.stub().resolves(), invokeCommand: sandbox.stub().resolves() }; getNavyStub = sandbox.stub().returns(navyStub); run = _proxyquire.default.noCallThru()('../run', { '../': { getNavy: getNavyStub } }); }); afterEach(function () { sandbox.restore(); }); describe('default export', function () { it('should resolve the navy instance using opts.navy', async function () { await run('cmd', [], { navy: 'env-1' }); (0, _chai.expect)(getNavyStub.calledOnce).to.equal(true); (0, _chai.expect)(getNavyStub.firstCall.args[0]).to.equal('env-1'); }); it('should call ensurePluginsLoaded before invokeCommand', async function () { await run('cmd', ['a'], { navy: 'env-1' }); (0, _chai.expect)(navyStub.ensurePluginsLoaded.calledOnce).to.equal(true); (0, _chai.expect)(navyStub.invokeCommand.calledOnce).to.equal(true); (0, _chai.expect)(navyStub.ensurePluginsLoaded.calledBefore(navyStub.invokeCommand)).to.equal(true); }); it('should pass through name and args to invokeCommand', async function () { await run('migrate', ['--up', 'db'], { navy: 'env-1' }); (0, _chai.expect)(navyStub.invokeCommand.firstCall.args[0]).to.equal('migrate'); (0, _chai.expect)(navyStub.invokeCommand.firstCall.args[1]).to.eql(['--up', 'db']); }); }); });