Skip to content

Commit

Permalink
add conditions for empty of activities
Browse files Browse the repository at this point in the history
  • Loading branch information
horike37 committed Apr 17, 2017
1 parent 6c422c4 commit acaf689
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 7 deletions.
13 changes: 8 additions & 5 deletions lib/yamlParser.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict';
const BbPromise = require('bluebird');
const path = require('path');
const _ = require('lodash');

module.exports = {
yamlParse() {
Expand All @@ -21,7 +22,7 @@ module.exports = {
this.serverless.service.stepFunctions.activities
= serverlessFileParam.stepFunctions
&& serverlessFileParam.stepFunctions.activities
? serverlessFileParam.stepFunctions.activities : {};
? serverlessFileParam.stepFunctions.activities : [];
this.serverless.variables.populateService(this.serverless.pluginManager.cliOptions);
return BbPromise.resolve();
});
Expand Down Expand Up @@ -49,8 +50,9 @@ module.exports = {
},

isStateMachines() {
if (this.serverless.service.stepFunctions
&& this.serverless.service.stepFunctions.stateMachines) {
if (this.serverless.service.stepFunctions != null
&& this.serverless.service.stepFunctions.stateMachines != null
&& !_.isEmpty(this.serverless.service.stepFunctions.stateMachines)) {
return true;
}
return false;
Expand Down Expand Up @@ -78,8 +80,9 @@ module.exports = {
},

isActivities() {
if (this.serverless.service.stepFunctions
&& this.serverless.service.stepFunctions.activities) {
if (this.serverless.service.stepFunctions != null
&& this.serverless.service.stepFunctions.activities != null
&& !_.isEmpty(this.serverless.service.stepFunctions.activities)) {
return true;
}
return false;
Expand Down
16 changes: 15 additions & 1 deletion lib/yamlParser.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ describe('#yamlParse', () => {
expect(yamlParserStub.calledOnce).to.be.equal(true);
expect(populateServiceStub.calledOnce).to.be.equal(true);
expect(serverless.service.stepFunctions.stateMachines).to.be.deep.equal({});
expect(serverless.service.stepFunctions.activities).to.be.deep.equal({});
expect(serverless.service.stepFunctions.activities).to.be.deep.equal([]);
serverlessStepFunctions.serverless.yamlParser.parse.restore();
serverlessStepFunctions.serverless.variables.populateService.restore();
});
Expand Down Expand Up @@ -142,6 +142,13 @@ describe('#yamlParse', () => {
serverless.service.stepFunctions = {};
expect(serverlessStepFunctions.isStateMachines()).to.be.equal(false);
});

it('should return false if the stameMachines is empty object', () => {
serverless.service.stepFunctions = {
stateMachines: {},
};
expect(serverlessStepFunctions.isStateMachines()).to.be.equal(false);
});
});

describe('#getAllActivities()', () => {
Expand Down Expand Up @@ -198,5 +205,12 @@ describe('#yamlParse', () => {
serverless.service.stepFunctions = {};
expect(serverlessStepFunctions.isActivities()).to.be.equal(false);
});

it('should return false if the activities is empty array', () => {
serverless.service.stepFunctions = {
activities: [],
};
expect(serverlessStepFunctions.isActivities()).to.be.equal(false);
});
});
});
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "serverless-step-functions",
"version": "1.0.0",
"version": "1.0.1",
"description": "The module is AWS Step Functions plugin for Serverless Framework",
"main": "lib/index.js",
"scripts": {
Expand Down

0 comments on commit acaf689

Please sign in to comment.