Skip to content

Commit e6f1105

Browse files
committed
update coverall to 100%
1 parent e202b09 commit e6f1105

File tree

3 files changed

+142
-2
lines changed

3 files changed

+142
-2
lines changed

lib/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ class ServerlessStepFunctions {
160160
}
161161
message += '\n';
162162
this.serverless.cli.consoleLog(message);
163+
return message;
163164
}
164165
}
165166
module.exports = ServerlessStepFunctions;

lib/index.test.js

Lines changed: 139 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ const sinon = require('sinon');
55
const BbPromise = require('bluebird');
66
const Serverless = require('serverless/lib/Serverless');
77
const AwsProvider = require('serverless/lib/plugins/aws/provider/awsProvider');
8+
const CLI = require('serverless/lib/classes/CLI');
9+
const chalk = require('chalk');
810
const ServerlessStepFunctions = require('./index');
911

1012
describe('#index', () => {
@@ -18,8 +20,8 @@ describe('#index', () => {
1820
stage: 'dev',
1921
region: 'us-east-1',
2022
};
21-
serverless.init();
2223
serverless.setProvider('aws', new AwsProvider(serverless));
24+
serverless.cli = new CLI(serverless);
2325
serverlessStepFunctions = new ServerlessStepFunctions(serverless, options);
2426
});
2527

@@ -211,4 +213,140 @@ describe('#index', () => {
211213
});
212214
});
213215
});
216+
217+
describe('#deploy()', () => {
218+
let consoleLogStub;
219+
220+
beforeEach(() => {
221+
consoleLogStub = sinon.stub(serverless.cli, 'consoleLog').returns();
222+
serverlessStepFunctions.endpointInfo = 'https://example.com';
223+
});
224+
225+
afterEach(() => {
226+
serverlessStepFunctions.serverless.cli.consoleLog.restore();
227+
});
228+
229+
it('should not display endpoints if http event not given', () => {
230+
serverlessStepFunctions.serverless.service.stepFunctions = {};
231+
let expectedMessage = '';
232+
expectedMessage += `${chalk.yellow.underline('Serverless StepFunctions OutPuts')}\n`;
233+
expectedMessage += `${chalk.yellow('endpoints:')}`;
234+
expectedMessage += '\n';
235+
const message = serverlessStepFunctions.display();
236+
expect(consoleLogStub.calledOnce).to.equal(true);
237+
expect(message).to.equal(expectedMessage);
238+
});
239+
240+
it('should display endpoints if http event given as object', () => {
241+
serverlessStepFunctions.serverless.service.stepFunctions = {
242+
stateMachines: {
243+
myStateMachine: {
244+
define: 'my-define',
245+
events: [
246+
{
247+
http: {
248+
path: 'foo/bar',
249+
method: 'post',
250+
},
251+
},
252+
],
253+
},
254+
},
255+
};
256+
let expectedMessage = '';
257+
expectedMessage += `${chalk.yellow.underline('Serverless StepFunctions OutPuts')}\n`;
258+
expectedMessage += `${chalk.yellow('endpoints:')}`;
259+
expectedMessage += '\n POST - https://example.com/foo/bar';
260+
expectedMessage += '\n';
261+
const message = serverlessStepFunctions.display();
262+
expect(consoleLogStub.calledOnce).to.equal(true);
263+
expect(message).to.equal(expectedMessage);
264+
});
265+
266+
it('should display endpoints if http event given as string', () => {
267+
serverlessStepFunctions.serverless.service.stepFunctions = {
268+
stateMachines: {
269+
myStateMachine: {
270+
define: 'my-define',
271+
events: [
272+
{
273+
http: 'post foo/bar',
274+
},
275+
],
276+
},
277+
},
278+
};
279+
let expectedMessage = '';
280+
expectedMessage += `${chalk.yellow.underline('Serverless StepFunctions OutPuts')}\n`;
281+
expectedMessage += `${chalk.yellow('endpoints:')}`;
282+
expectedMessage += '\n POST - https://example.com/foo/bar';
283+
expectedMessage += '\n';
284+
const message = serverlessStepFunctions.display();
285+
expect(consoleLogStub.calledOnce).to.equal(true);
286+
expect(message).to.equal(expectedMessage);
287+
});
288+
289+
it('should display endpoints if http event given with path as slash', () => {
290+
serverlessStepFunctions.serverless.service.stepFunctions = {
291+
stateMachines: {
292+
myStateMachine: {
293+
define: 'my-define',
294+
events: [
295+
{
296+
http: 'post /',
297+
},
298+
],
299+
},
300+
},
301+
};
302+
let expectedMessage = '';
303+
expectedMessage += `${chalk.yellow.underline('Serverless StepFunctions OutPuts')}\n`;
304+
expectedMessage += `${chalk.yellow('endpoints:')}`;
305+
expectedMessage += '\n POST - https://example.com';
306+
expectedMessage += '\n';
307+
const message = serverlessStepFunctions.display();
308+
expect(consoleLogStub.calledOnce).to.equal(true);
309+
expect(message).to.equal(expectedMessage);
310+
});
311+
312+
it('should display endpoints if events given as object', () => {
313+
serverlessStepFunctions.serverless.service.stepFunctions = {
314+
stateMachines: {
315+
myStateMachine: {
316+
define: 'my-define',
317+
events: {},
318+
},
319+
},
320+
};
321+
let expectedMessage = '';
322+
expectedMessage += `${chalk.yellow.underline('Serverless StepFunctions OutPuts')}\n`;
323+
expectedMessage += `${chalk.yellow('endpoints:')}`;
324+
expectedMessage += '\n';
325+
const message = serverlessStepFunctions.display();
326+
expect(consoleLogStub.calledOnce).to.equal(true);
327+
expect(message).to.equal(expectedMessage);
328+
});
329+
330+
it('should display endpoints if http event does not exists', () => {
331+
serverlessStepFunctions.serverless.service.stepFunctions = {
332+
stateMachines: {
333+
myStateMachine: {
334+
define: 'my-define',
335+
events: [
336+
{
337+
foo: 'bar',
338+
},
339+
],
340+
},
341+
},
342+
};
343+
let expectedMessage = '';
344+
expectedMessage += `${chalk.yellow.underline('Serverless StepFunctions OutPuts')}\n`;
345+
expectedMessage += `${chalk.yellow('endpoints:')}`;
346+
expectedMessage += '\n';
347+
const message = serverlessStepFunctions.display();
348+
expect(consoleLogStub.calledOnce).to.equal(true);
349+
expect(message).to.equal(expectedMessage);
350+
});
351+
});
214352
});

lib/invoke/invoke.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const sinon = require('sinon');
88
const path = require('path');
99
const Serverless = require('serverless/lib/Serverless');
1010
const AwsProvider = require('serverless/lib/plugins/aws/provider/awsProvider');
11+
const CLI = require('serverless/lib/classes/CLI');
1112
const ServerlessStepFunctions = require('./../index');
1213

1314
describe('invoke', () => {
@@ -16,8 +17,8 @@ describe('invoke', () => {
1617

1718
beforeEach(() => {
1819
serverless = new Serverless();
19-
serverless.init();
2020
serverless.setProvider('aws', new AwsProvider(serverless));
21+
serverless.cli = new CLI(serverless);
2122
serverless.service.service = 'new-service';
2223
const options = {
2324
stage: 'dev',

0 commit comments

Comments
 (0)