Sử dụng OmniAuth (với omniauth_crowd), tôi muốn người dùng được chuyển hướng trở lại trang đăng nhập nếu anh ấy không gửi đúng tên người dùng và mật khẩu. Nó hoạt động tốt trong sản xuất, nhưng tôi có vấn đề khó chịu thử nghiệm nó.Capybara :: InfiniteRedirectError
Để nhạo báng nhà cung cấp OmniAuth, tôi sử dụng đoạn mã sau, theo khuyến cáo của các tác giả của OmniAuth plugin:
OmniAuth.config.test_mode = true
OmniAuth.config.mock_auth[:someProvider] = :invalid_credentials
visit_page @page
Đoạn mã trên sẽ tự động (ví dụ mà không cần nhập username và password) chuyển hướng Capybara đến session#failure
. My session#failure
chuyển hướng đến login_path
.
Vì vậy tôi kết thúc trong một vòng lặp:
redirected more than 5 times, check for infinite redirects. (Capybara::InfiniteRedirectError)
hiện giải pháp tốt nhất cho trường hợp của tôi là gì?