Итак, у меня есть приложение 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