From ad2eb970c6bdf040be9b6257321081d4d72c5bd9 Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Wed, 15 Mar 2017 09:39:26 -0300 Subject: [PATCH] Add simulation/time (UC301) Route /api/v1/simulation/time exists and works with parameter max_time * Example route: `/api/v1/simulation/time?max_time=10` * Return value: {"result": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]} If no value is specified in max_time, an error is returned --- src/libs/routes/simulation.js | 15 +++++++++++++++ src/test/simulation.js | 26 ++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/src/libs/routes/simulation.js b/src/libs/routes/simulation.js index 6469d4d6..da1204be 100644 --- a/src/libs/routes/simulation.js +++ b/src/libs/routes/simulation.js @@ -14,6 +14,21 @@ const response = require(`${libs}/middlewares/response`); const Simulation = require(`${libs}/models/simulation`); +simulationApp.get('/time', (req, res, next) => { + const maxTime = parseInt(req.query.max_time, 10); + log.debug('maxTime: ', maxTime); + if(isNaN(maxTime)) { + res.status(400); + next({ + status: 400, + message: 'Invalid value for mandatory parameter max_time' + }); + } + res.json({ + result: Array.apply(null, {length: maxTime}).map(Number.call, Number).map((i)=>i+1) + }); +}); + simulationApp.get('/', (req, res) => { let out = { success: true, msg: 'controller working' }; out.result = new Array() diff --git a/src/test/simulation.js b/src/test/simulation.js index c74ca3ae..d620d615 100644 --- a/src/test/simulation.js +++ b/src/test/simulation.js @@ -405,4 +405,30 @@ describe('Requires a simulation', () => { done(); }); }); + + it('should returns an array in simulation/time', (done) => { + let max_time = 10; + chai.request(server) + .get(`/api/v1/simulation/time?max_time=${max_time}`) + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.equal([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); + done(); + }); + }); + + it('should return an error when no max_time is specified in simulation/time', (done) => { + let max_time = 10; + chai.request(server) + .get(`/api/v1/simulation/time?max_time=${max_time}`) + .end((err, res) => { + res.should.have.status(400); + res.should.be.json; + res.body.should.have.property('message'); + res.body.message.should.equal('Invalid value for mandatory parameter max_time'); + done(); + }); + }); }); -- GitLab