Skip to content
Snippets Groups Projects
Commit ad2eb970 authored by Vytor Calixto's avatar Vytor Calixto :space_invader:
Browse files

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
parent 7e5faf1e
No related branches found
No related tags found
1 merge request!116Release v1.0.0
Pipeline #
......@@ -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()
......
......@@ -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();
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment