Używając OmniAuth (z omniauth_crowd), chciałbym, aby użytkownik został przekierowany z powrotem na stronę logowania, jeśli nie poda prawidłowej nazwy użytkownika i hasła. Działa dobrze w produkcji, ale mam irytujący problem z testowaniem go.Capybara :: InfiniteRedirectError
mock dostawcę OmniAuth, używam następujący kod, zgodnie z zaleceniami autora wtyczki OmniAuth:
OmniAuth.config.test_mode = true
OmniAuth.config.mock_auth[:someProvider] = :invalid_credentials
visit_page @page
Powyższy kod automatycznie (czyli bez wprowadzania nazwy użytkownika i hasła) przekierowuje Capybara do session#failure
. Moje session#failure
przekierowuje do login_path
.
Tak więc kończy się w pętli:
redirected more than 5 times, check for infinite redirects. (Capybara::InfiniteRedirectError)
Jaki jest najlepszy obejście moim przypadku?