OmniAuth (omniauth_crowd を使用) を使用して、ユーザーが正しいユーザー名とパスワードを送信しない場合、ユーザーがログイン ページにリダイレクトされるようにしたいと考えています。本番環境では問題なく動作しますが、テストするのに厄介な問題があります。
OmniAuth プロバイダーをモックするには、OmniAuth プラグインの作成者が推奨する次のコードを使用します。
OmniAuth.config.test_mode = true
OmniAuth.config.mock_auth[:someProvider] = :invalid_credentials
visit_page @page
上記のコードは自動的に (つまり、ユーザー名とパスワードを入力せずに) Capybara をsession#failure
. にリダイレクトsession#failure
しlogin_path
ます。
したがって、私はループに陥ります:
redirected more than 5 times, check for infinite redirects. (Capybara::InfiniteRedirectError)
私の場合の最善の回避策は何ですか?