Ruby on Rails Tutorial 第9章 Remember me 機能のコードを使って、cookieを使用したログイン機能を作りました。チェックボックス横の文字列以外同じコードです。
https://github.com/yasslab/sample_apps/tree/master/5_1_2/ch14
Rspecのfeatureスペックでテストを作りたいと思っています。
Remember me機能を使うようにすれば、ログイン時にuserのremember_digestカラムに値が入るので、それをテストしようとしたのですが、テストを実行するとこの値がnilになります。
※cookieのremember_tokenの値をテストしても良いかと思ったのですが、featureスペックでcookieの値を取得する方法が分かりませんでした。
ruby
1require 'rails_helper' 2 3describe "user_login", type: :feature do 4 5 before do 6 @user = FactoryBot.create(:user) 7 end 8 9it "login with remembering" do 10 visit '/login' 11 fill_in "user_email_login", with: @user.email 12 fill_in "user_password_login", with: @user.password 13 14 check '次回から自動的にログイン' 15 16 click_button "ログイン" 17 18 expect(@user.remember_digest).not_to be nil 19 end
html
1Failures: 2 3 1) user_login login with remembering 4 Failure/Error: expect(@user.remember_digest).not_to be nil 5 6 expected not #<NilClass:8> => nil 7 got #<NilClass:8> => nil 8 9 Compared using equal?, which compares object identity. 10 # ./spec/features/user_login_spec.rb:59:in `block (2 levels) in <top (required)>' 11 # /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/spring-commands-rspec-1.0.4/lib/spring/commands/rspec.rb:18:in `call' 12 # -e:1:in `<main>'
どうかよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/21 12:22