Continued work on print tests

This commit is contained in:
Alex DeBrie 2017-09-22 15:50:01 +00:00
parent e4be10f48f
commit 059d690cdc
2 changed files with 19 additions and 14 deletions

View File

@ -34,6 +34,8 @@ class Print {
}
return this.serverless.variables.populateObject(conf);
}).then((data) => this.serverless.cli.consoleLog(YAML.dump(data)));
return BbPromise.resolve();
}
}

View File

@ -5,16 +5,20 @@ const sinon = require('sinon');
const proxyquire = require('proxyquire');
const Serverless = require('../../Serverless');
const CLI = require('../../classes/CLI');
const YAML = require('js-yaml');
describe('Print', () => {
let print;
let serverless;
let getServerlessConfigFileStub;
let consoleLogStub;
let consoleLogSpy;
let sandbox;
beforeEach(() => {
getServerlessConfigFileStub = sinon.stub();
sandbox = sinon.sandbox.create();
consoleLogSpy = sandbox.spy(console, 'log');
getServerlessConfigFileStub = sandbox.stub();
const printPlugin = proxyquire('./print.js', {
'../../utils/getServerlessConfigFile': getServerlessConfigFileStub,
});
@ -25,29 +29,28 @@ describe('Print', () => {
}
serverless.cli = new CLI(serverless);
print = new printPlugin(serverless);
consoleLogStub = sinon.stub(serverless.cli, 'consoleLog').returns(true);
});
afterEach(() => {
serverless.cli.consoleLog.restore();
consoleLogSpy.restore();
})
describe('#constructor()', () => {
it('should have commands', () => expect(print.commands).to.be.not.empty);
});
it('should print standard config', () => {
getServerlessConfigFileStub.resolves({
const conf = {
service: 'my-service',
provider: {
name: 'aws'
}
}
getServerlessConfigFileStub.resolves(conf)
print.print().then(() => {
const message = consoleLogSpy.args.join();
expect(getServerlessConfigFileStub.calledOnce).to.equal(true);
expect(console.log.calledOnce).to.equal(true);
expect(message).to.have.string(YAML.dump(conf));
})
print.print();
expect(getServerlessConfigFileStub.calledOnce).to.equal(true);
expect(consoleLogStub.called).to.equal(true);
});
});