I have written a code to get data from SnowFlake using NodeJS (Lambda). Now I am working to cover the code with Mocha test - this is the part I am new at.
I have been able to cover the SUCCESS case. But for ERROR case I am unable to proceed. Below is a code for the handler method that I want to cover:
const handler = () => new Promise((resolve, reject) => {
const connection = snowflake.createConnection({
account: //snowflakeAccount
username: //snowflakeUserName
password: //snowflakePassword
warehouse: //snowflakeWarehouset
application://snowflakeApp
});
const response = getDefaultResponse();
connection.connect((err, conn) => {
if (err) {
response.statusCode = 400;
response.body = JSON.stringify({ err });
console.log('ERROR', response);
resolve(response);
}
else {
const res = getSnowflakeDealers(connection);
response.statusCode = res.statusCode;
//response.body = JSON.stringify(res.message);
resolve(response);
}
});
});
Code for Test case by me so far for error case [But it fails]:
describe("Test /riskDetails failure response", () => {
before(done => {
sinon.stub(snowFlakeClient, 'createConnection')
.callsFake((err) => {
return {
connect: (cb) => {
cb()
},
execute: () => {
}
};
});
done();
});
it.only("should return a response with statusCode 400", (done) => {
updateDealerRiskHandler.handler()
.then((response) => {
console.log('FAIL TEST', response);
expect(response.statusCode).to.equal(400);
done();
})
.catch((err) => {
done(err);
});
});
after(() => {
sinon.restore();
});
});