I am trying to test if my API routes are working using nock.js to mock url requests.
My routing file routes according to the following logic:
app.get('/api/study/load/:id', abc.loadStudy );
'loadStudy' method in 'abc.js' is used to handle the below particular GET request. Hence, any GET request from a browser has a 'params' key with 'id' parameter that replaces ':id' in the URL. However, when I try to mock this GET request using nock.js I'm not able to pass this 'id' parameter in the request.
var abc = require('G:\\project\\abc.js');
var nock = require('nock');
var api = nock("http://localhost:3002")
.get("/api/test/load/1")
.reply(200, abc.loadStudy);
request({ url : 'http://localhost:3002/api/study/load/1', method: 'GET', params: {id : 1}}, function(error, response, body) { console.log(body);} );
My method makes use of 'params' key that is sent with request which I'm not able to mock. Printing 'req' in the below code just gives '/api/test/load/1' . How can I add 'params' to the GET request?
loadStudy = function(req, res) {
console.log(req);
var id = req.params.id;
};