Я пытаюсь реализовать модульный тест для следующего фрагмента моего кода
try {
return await request.post(options);
} catch (err) {
if (err.statusCode === 401) {
log.info('Not authenticated. Refreshing token...');
const tokenResponse =
await Janus.refreshToken(graph.username, graph.password, graph.host, graph.port);
const token = tokenResponse.body.token;
graph.token = token;
return gremlinQuery(graph, query);
}
log.error(`Gremlin script didn't pass : ${err}`);
}
Чтобы проверить строки, содержащиеся в части catch
, я заглушаю функцию post
:
stubPost.callsFake(() => Promise.reject(new Error()));
Как я могу реализовать ошибку со свойством statusCode
? Конструктор Error
ожидает ввода string
. Разве я не могу передать ему объект или что-то в этом роде?