RSpec を使用して、Rails でのコントローラーの動作をテストしています。私が持っている期待の 1 つは、次のシナリオです。
- ユーザーが、保護された (ログインが必要な) URL に params でアクセスしようとしました
/home?val=123
。 - そのユーザーはログイン ページにリダイレクトされます。
- ログイン後、ユーザーは、関連するパラメーターを使用して、最初に要求された URL にリダイレクトされる必要があります。
認証システム (omniauth を使用) に devise を使用しており、ユーザーをログインさせるための推奨マクロをセットアップしました。
上記の動作の流れをテストする方法に少しこだわっています。
describe HomeController do
context "user is logged out" do
it "redirects back to original page after signin" do
# user is not signed in - redirected to login page
get :index, { :val => '12345' }
current_user.should_not be_present
expect(response).to redirect_to(login_page_path)
# should now login the user and verify
# that request.fullpath == '/home?val=12345'
# ?...
end
end
end
それはコントローラの仕様に属していますか?ヘルプや例をいただければ幸いです。ありがとう。