У меня есть следующее асинхронное промежуточное программное обеспечение, которое использует несколько попыток перехвата для проверки ответа на некоторые вызовы http.Я хочу провести модульное тестирование этого промежуточного программного обеспечения, но сталкиваюсь с трудностями, насмехаясь над "следующим" обратным вызовомКогда я обертываю это так:
it('should test for auth', () => {
logon(req, res, function() {
expect(res.locals).toBe(true)
})
})
, кажется, что на самом деле не запускается функция и не запускается expect
после.Любые идеи о том, как я могу издеваться над объектами request
, response
и next
, чтобы я мог проверить окончательные значения (res.locals)?Спасибо.
async function logon(req, res, next) {
if (!req.query.isAuth)
req.locals.auth = false;
next()
}
try {
const getData = await http.get(/logon);
if (getData.status == 200) {
res.locals.auth = true;
} else {
res.locals.auth = false;
try {
const secondCall = http.get(/logon2);
if (secondCall.data.bob) {
return res.redirect(/home);
}
} catch(e) {console.error(3)}
}
} catch(e) {console.error(e)}
next();
}