Вернемся снова ... Итак, после решения моих предыдущих проблем я пытаюсь протестировать ту же функцию, которая получает объект AWS.request и AWS.response.В настоящее время я получаю сообщение об ошибке, что res.setHeader не является функцией.В идеале я хотел бы оцепить или смоделировать объекты ответа и запроса, чтобы я мог проверить, что они установлены правильно.Вот файл, который я тестирую.
const Verifier = require('/verifier.js');
ValidatorFunc = function(callType){
return function (req,res,next){
let Header = req.headers[''];
try {
Verifier.verifierFunc(Header, callType, (Error) => {
if (Error) {
res.setHeader('Content-Type', 'application/json');
res.status(401);
res.json({
message : "Error "+ Error.message
});
} else {
next();
}
});
} catch (otherError) {
res.setHeader('Content-Type', 'application/json');
res.status(401);
res.json({
message : otherError.message
});
}
}
}
Мой тест пока выглядит следующим образом
const { ValidatorFunc } = require('../src/Validator');
const aws = require('aws-sdk');
jest.mock('aws-sdk');
describe('Validator', ()=>{
test('Validator - Error', ()=>{
let aFunc = ValidatorFunc('POST');
let aVar = { headers: ""}; //Wrote this just to see how far I could get into the function
let aVar2 = new aws.Response();
aFunc(aVar, aVar2 ,null);
});
});
Я получаю сообщение об ошибке, что res.setHeader не является функцией.Я предполагаю, что мог бы подойти к этому тесту неправильно, поэтому я открыт для предложений о том, как мне это изменить.