rails5以降は基本的に、request, featureテストが基本だが、もしcontrollerテストを書く場合には
以下のように書く
# ouchien
describe "sessionがあればmovieにリダイレクトする" do
it "account sessionがある場合" do
get "login", session: { account: 'hoge' }
expect(response).to redirect_to movie_index_path
end
it "account sessionがない場合" do
get "login"
expect(response).to have_http_status(:ok)
end
end
sessionをつけてページにアクセスする
get :logout, session: { account: get_account.to_h }
flashのテスト
[参考]
user_agentの偽装(まだ試していない)
request.env["HTTP_USER_AGENT"] = 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53'
[参考]