donal
2018-03-26 6ef0cc963d40c64fb56ba0545c05788535a45895
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
 * Stubbed Application routes
 */
 
'use strict';
 
var express = require('express');
 
var routerStub = express.Router();
 
function mockMongoId() {
  function s4() {
    return Math.floor((1 + Math.random()) * 0x10000)
      .toString(16)
      .substring(1);
  }
  return s4() + s4() + s4() + s4() + s4() + s4();
}
 
routerStub.get('/todos', function (req, res) {
  // add timeout to test loading styles
  setTimeout(function () {
    return res.status(200).send([
      {"title": "Learn some stuff about Jenkins", "_id": mockMongoId(), "completed": true},
      {"title": "Go for Coffee", "_id": mockMongoId(), "completed": false}
    ]);
  }, 650);
});
 
routerStub.get('/todos/:id', function (req, res) {
  setTimeout(function () {
    var id = req.params.id;
    return res.status(200).send({
      "title": "Learn some stuff about Jenkins", "_id": id, "completed": true
    });
  }, 150);
});
 
routerStub.post('/todos', function (req, res) {
  setTimeout(function () {
    req.body._id = mockMongoId();
    return res.status(201).send(req.body);
  }, 170);
});
 
routerStub.put('/todos/:id', function (req, res) {
  setTimeout(function () {
    req.body._id = req.params.id;
    return res.status(200).send(req.body);
  }, 130);
});
 
routerStub.delete('/todos/:id', function (req, res) {
  setTimeout(function () {
    return res.status(204).send();
  }, 100);
});
 
module.exports = function(app) {
  app.use('/api', routerStub)
};