serverless/lib/plugins/package/package.test.js
2017-04-06 18:28:59 +07:00

47 lines
1.4 KiB
JavaScript

'use strict';
const expect = require('chai').expect;
const sinon = require('sinon');
const BbPromise = require('bluebird');
const Package = require('./package');
const Serverless = require('../../../lib/Serverless');
describe('#constructor()', () => {
let serverless;
let packageService;
beforeEach(() => {
serverless = new Serverless();
serverless.init();
packageService = new Package(serverless);
});
it('should have hooks', () => expect(packageService.hooks).to.be.not.empty);
it('should run promise chain in order for "deploy:createDeploymentArtifacts" hook', () => {
const validateStub = sinon
.stub(packageService, 'validate').resolves();
const packageServiceStub = sinon
.stub(packageService, 'packageService').resolves();
return packageService.hooks['deploy:createDeploymentArtifacts']().then(() => {
expect(validateStub.calledOnce).to.be.equal(true);
expect(packageServiceStub.calledAfter(validateStub)).to.be.equal(true);
packageService.validate.restore();
packageService.packageService.restore();
});
});
it('should run promise chain in order for "deploy:cleanup" hook', () => {
const cleanupStub = sinon
.stub(packageService, 'cleanup').resolves();
return packageService.hooks['deploy:cleanup']().then(() => {
expect(cleanupStub.calledOnce).to.be.equal(true);
packageService.cleanup.restore();
});
});
});