チェックボックスでログインしたユーザーのcookieを保存できるようにしましたが、そのテストが分かりません。下記のコードでグリーンになるのですが、テストの3,4行目をコメントアウトしてもグリーンになると思って試してみたところレッドでした。どうしてレッドになるのか分からないです。
### test/integration/user_login_test.rb
ruby
1test "login without remembering" do 2 # cookie を保存してログイン 3 log_in_as(@user, remember_me: '1') 4 delete logout_path 5 #cookie を保存せずにログイン 6 log_in_as(@user, remember_me: '0') 7 assert_empty cookies[:remember_token] 8 end
test/test_helper.rb
ruby
1ENV['RAILS_ENV'] ||= 'test' 2require_relative '../config/environment' 3require 'rails/test_help' 4require "minitest/reporters" 5Minitest::Reporters.use! 6 7class ActiveSupport::TestCase 8 # Run tests in parallel with specified workers 9 parallelize(workers: :number_of_processors) 10 11 # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. 12 fixtures :all 13 include ApplicationHelper 14 15 # Add more helper methods to be used by all tests here... 16 def is_logged_in? 17 !session[:user_id].nil? 18 end 19 20 def log_in_as(user) 21 session[:user_id] = user.id 22 end 23end 24 25class ActionDispatch::IntegrationTest 26 27 def log_in_as(user, password: 'password', remember_me: '1') 28 post login_path, params: { session: { email: user.email, 29 password: password, 30 remember_me: remember_me }} 31 end 32end 33
あなたの回答
tips
プレビュー