Невозможно имитировать токен доступа пользователей из объекта запроса и протестировать метод

Я пытаюсь выполнить модульное тестирование метода, который создает 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: ''}} решил это для меня

Другие вопросы по тегам