navy
Version:
Quick and powerful development environments using Docker and Docker Compose
52 lines (50 loc) • 1.68 kB
JavaScript
;
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/logs', function () {
let sandbox;
let getNavyStub;
let navyStub;
let logs;
beforeEach(function () {
sandbox = _sinon.default.createSandbox();
navyStub = {
spawnLogStream: sandbox.stub().resolves()
};
getNavyStub = sandbox.stub().returns(navyStub);
logs = _proxyquire.default.noCallThru()('../logs', {
'../': {
getNavy: getNavyStub
}
});
});
afterEach(function () {
sandbox.restore();
});
describe('default export', function () {
it('should resolve the navy instance using opts.navy', async function () {
await logs(['api'], {
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 spawnLogStream with the supplied services array', async function () {
const services = ['api', 'web'];
await logs(services, {
navy: 'env-1'
});
(0, _chai.expect)(navyStub.spawnLogStream.calledOnce).to.equal(true);
(0, _chai.expect)(navyStub.spawnLogStream.firstCall.args[0]).to.equal(services);
});
it('should propagate empty service lists through to spawnLogStream', async function () {
await logs([], {
navy: 'env-1'
});
(0, _chai.expect)(navyStub.spawnLogStream.firstCall.args[0]).to.eql([]);
});
});
});