Как завершить тестирование с Cypress.io в приложении MERN, которое использует социальную регистрацию Google OAuth? - PullRequest
0 голосов
/ 28 марта 2020

Итак, у меня есть приложение MERN, в котором я использую Passport JS с passport-oauth-google-jwt для регистрации и входа. Я написал несколько внешних тестов с использованием Cypress.io. для моего приложения, где я проверяю, имеют ли компоненты формы правильные условия, правильно ли отображаются все соответствующие кнопки и т. д. c. Прямо сейчас я использую заглушки для насмешки вызовов API бэкэнда и просто тестирую интерфейс самостоятельно.

Я хочу преобразовать эти интерфейсные тесты в сквозные тесты и протестировать функциональность приложения с полным стеком. Для этого мне нужно иметь возможность войти в Google. Однако всякий раз, когда я пытаюсь сделать cy.click () по ссылке входа в Google, мое приложение перенаправляет на URL-адрес вне моего приложения (учетные записи Google) - и это вызывает ошибку перекрестного источника. Документы Cypress.io рекомендуют, чтобы тесты НЕ взаимодействовали с какими-либо веб-сервисами, которыми вы не владеете, и что вы должны высмеивать все внешние запросы.

Можно ли каким-либо образом заставить Passport JS принудительно войти в систему 'к определенной учетной записи и дайте мне JWT без использования входа в систему Google, ИЛИ каким-либо образом высмеивать ответ Google OAuth, чтобы я мог выполнить эти сквозные тесты?

На всякий случай, сделайте репо с веб-приложением, которое тестируется на GitHub . Фронтальные тесты находятся в кипарис / интеграция / fronted_test. js

Это видео о запущенных тестах: https://youtu.be/nr6uB3w4P4g

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...