I'm using nock module to intercept HTTP calls to my API service (still undeveloped) and return some mock data that I have in a temporary database.
I notice the http requests are intercepted properly, but the problem that I see is that before my function gets required data from temp DB, the nock replies.
For a simple demonstration, look at the code below:
var nock = require('nock');
var nockReq = nock("http://localhost:8000")
    .post("/sample-endpoint")
    .reply(200, function (uri, requestBody) {
        setTimeout(function() {
            return {"result": "TIMED OUT"}
        }, 2000
    );
With the above code, when I don't use a time-out, I get the data returned properly as expected. But with this time-out, the nock doesn't seem to wait for the callback, instead proceed responding an empty 200 response.
 
     
    