Реализация Jest-тестов на POST-сервисах, аутентифицированных с помощью auth0 - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь внедрить Jest-тестирование на моем сервере node.js, однако я не уверен, как тестировать POST-сервисы, защищенные с помощью auth0 sureLoggedIn, я просто получаю 302-ответ, а не ожидаемый 200 или 400, потому что не могуauthenticate.

Первоначально я попытался создать фиктивную копию app.js с удаленным файлом sureLoggedIn из объявлений службы, однако мне сказали, что это неверно.Мне указали в сторону фиктивных функций, однако я не уверен, как имитировать аутентификацию auth0.

Пример app.js

app.post('/secure', ensureLoggedIn, (req, res) => {
    -Process Request-
    if (Request Bad) {
        return res.sendStatus(400);
    }
    res.sendStatus(200);
});

Пример test.js

describe('Test POST service /secure' () => {
    test('POST /secure with valid body' async() => {
        const update = {Valid JSON body};
        return request(app)
            .post('/secure')
            .send(update)
            .expect(200);
    });
})

Сейчас я ожидаю, что этот тест не пройден, так как он не проходит проверку подлинности.Мой вопрос заключается в том, как правильно обрабатывать аутентификацию с помощью auth0 при использовании jest-тестов?

Спасибо.

1 Ответ

0 голосов
/ 27 апреля 2019

на самом деле есть пост в блоге, связанный с Auth0 и тестированием Jest еще в 2017 году. Обзор поста в блоге дает ряд примеров, на которые можно сделать вывод при тестировании с Jest. Я также связал ниже больше документации непосредственно от Jest при работе с насмешливыми функциями. Я надеюсь, что это поможет вам в ваших поисках!

https://jestjs.io/docs/en/mock-function-api

...