Mock API call :
const nock = require("nock");
nock("http://api.service:8080")
.defaultReplyHeaders({
'access-control-allow-origin': '*',
'access-control-allow-credentials': 'true'
})
.get("/api/contrat/signature/matching")
.reply(200, {
license: {
key: "mit",
name: "MIT License",
spdx_id: "MIT",
url: "https://api.github.com/licenses/mit",
node_id: "MDc6TGljZW5zZTEz",
},
});
Mock Express middleware (Response) :
const mockResponse = () => {
const res = {};
res.status = jest.fn().mockReturnValue(res);
res.json = jest.fn().mockReturnValue(res);
res.send = jest.fn().mockReturnValue(res);
return res;
};
const res = mockResponse();
const test = await creation.sendMailDocuments(sendMailBody, res);
// utiliser .send ou .json en fonction de la fonction.
expect(res.json).toBeCalledWith({
"errorDetail": "L'envoie de mail avec les documents a échoué"
});
expect(res.status).toBeCalledWith(500);