I have a file foo.js
var request = require('request');
module.exports.getRequest = function (url, headers) {
return new Promise((resolve, reject) => {
request(
{
url: url,
method: "GET",
timeout: 30000,
headers: headers,
},
function (error, response, body) {
if (error) {
reject(error);
}
resolve({response, body});
}
);
});
};
I want to write a test case for it. but I am not able to write. can someone help? I tried something like this.
var proxyquire = require('proxyquire')
, assert = require('assert')
, pathStub = {};
describe('Test', () => {
it('1', () => {
var foo = proxyquire('./foo', {'request': pathStub});
pathStub.request = function (file, option) {
console.log("Request Stub");
option(null, "a", "b");
};
let b = foo.getRequest('file.txt');
assert.strictEqual(foo.getRequest('file.txt'), 'EXTERMINATE, EXTERMINATE THE FILE.TXT');
});
});
Error - (node:15344) UnhandledPromiseRejectionWarning: TypeError: request is not a function