Невозможно имитировать токен доступа пользователей из объекта запроса и протестировать метод
Я пытаюсь выполнить модульное тестирование метода, который создает JWT, и в процессе я пытаюсь имитировать токен доступа пользователя, который будет использоваться для создания JWT. Вот мой метод и тест:
returnToken(expressRequestObject) {
const payload = { userAccessToken: req.user.userAccessToken, userID: req.params.userID};
return jwt.sign(
payload,
SECRET,
{ expiresIn: '30d' },
);
}
Код теста:
describe('returns a token', function() {
it('should return a token', function() {
const requestObject = httpMocks.createRequest({params: {userID: '1234'}});
requestObject.user.userAccessToken = 'xivjioefv.dvedv.adsvdv';
const a = authenticatorClass.returnToken(requestObject);
console.log(a);
});
Я использую httpMocks для создания фиктивного объекта запроса. Я не могу пройти этот тест, так как он говорит
TypeError: Cannot set property 'userAccessToken' of undefined
. Что я здесь делаю не так? Есть ли лучший способ имитировать токен доступа и пройти этот тест? TIA
1 ответ
добавление объекта пользователя к этому
{{params: {userID: '1234'}},user: {userAccessToken: ''}}
решил это для меня