nock モジュールを使用して API サービス (まだ未開発) への HTTP 呼び出しをインターセプトし、一時データベースにあるモック データを返します。
http 要求が適切にインターセプトされていることに気付きましたが、問題は、関数が一時 DB から必要なデータを取得する前に、nock が応答することです。
簡単なデモンストレーションについては、以下のコードを見てください。
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
);
上記のコードでは、タイムアウトを使用しない場合、期待どおりにデータが正しく返されます。しかし、このタイムアウトにより、nock はコールバックを待たないように見え、代わりに空の 200 応答を返します。