rails Controllerのテスト

本稿について

本稿はサイト運営者が学んだことなどを記したメモの内容です。
全てが正確な情報とは限りません。ご注意ください。また修正するべき点は適時修正していきます
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'
[参考]
Back