Railsでログイン状態をdevice 無しで作りたい – Rspecnocontroller
普通にurlをgetするとexpected the response to have a success status code (2xx) but it was 302って言われます。だからRailsのテストでもログイン状態を作りたいと思ったんです。ただし、device
無しで作りたい。僕の場合は、とにかくセッションでログイン状態を作ってたんで、下記のようにすれば、テスト通りました。
describe "GET #index" do
it "returns http success" do
admin = User.create(name: "admin@gmail.com",
email: "admin@gmail.com",
password: "admin@gmail.com",
password_confirmation: "admin@gmail.com",
admin: true,
activated: true,
activated_at: Time.zone.now)
session[:user_id] = admin.id
get :index
expect(response).to have_http_status(:success)
end
end