serverless/lib/plugins/package/index.test.js
Philipp Muens 8aad2372eb Refactor test structure
So that all tests follow the *.test.js pattern and globs are used to find test files.
2016-11-22 12:49:26 +01:00

47 lines
1.5 KiB
JavaScript

'use strict';
const expect = require('chai').expect;
const sinon = require('sinon');
const BbPromise = require('bluebird');
const Package = require('./index');
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').returns(BbPromise.resolve());
const packageServiceStub = sinon
.stub(packageService, 'packageService').returns(BbPromise.resolve());
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').returns(BbPromise.resolve());
return packageService.hooks['deploy:cleanup']().then(() => {
expect(cleanupStub.calledOnce).to.be.equal(true);
packageService.cleanup.restore();
});
});
});