X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/51af102c00f5dee8211c16f4d2d4705c8098bacc..93b8c47c8fa1aac86d2d9c730c327c076b578a84:/test/controllers/users_controller_test.rb diff --git a/test/controllers/users_controller_test.rb b/test/controllers/users_controller_test.rb index ff75df548..ff87c9466 100644 --- a/test/controllers/users_controller_test.rb +++ b/test/controllers/users_controller_test.rb @@ -406,6 +406,25 @@ class UsersControllerTest < ActionDispatch::IntegrationTest ActionMailer::Base.deliveries.clear end + def test_login + user = create(:user) + + get login_path + assert_response :redirect + assert_redirected_to login_path(:cookie_test => true) + follow_redirect! + assert_response :success + assert_template "login" + + get login_path, :params => { :username => user.display_name, :password => "test" } + assert_response :success + assert_template "login" + + post login_path, :params => { :username => user.display_name, :password => "test" } + assert_response :redirect + assert_redirected_to root_path + end + def test_logout_without_referer post logout_path assert_response :redirect @@ -583,7 +602,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest confirm_string = User.find_by(:email => user.email).tokens.create(:referer => new_diary_entry_path).token post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string } - assert_redirected_to :action => "login" + assert_redirected_to login_path assert_match(/already been confirmed/, flash[:error]) end @@ -828,7 +847,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest end end assert_response :redirect - assert_redirected_to :action => :login + assert_redirected_to login_path assert_match(/^Sorry you lost it/, flash[:notice]) email = ActionMailer::Base.deliveries.first assert_equal 1, email.to.count @@ -843,7 +862,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest end end assert_response :redirect - assert_redirected_to :action => :login + assert_redirected_to login_path assert_match(/^Sorry you lost it/, flash[:notice]) email = ActionMailer::Base.deliveries.first assert_equal 1, email.to.count @@ -870,7 +889,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest end end assert_response :redirect - assert_redirected_to :action => :login + assert_redirected_to login_path assert_match(/^Sorry you lost it/, flash[:notice]) email = ActionMailer::Base.deliveries.first assert_equal 1, email.to.count @@ -885,7 +904,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest end end assert_response :redirect - assert_redirected_to :action => :login + assert_redirected_to login_path assert_match(/^Sorry you lost it/, flash[:notice]) email = ActionMailer::Base.deliveries.first assert_equal 1, email.to.count @@ -941,7 +960,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest # you are not logged in get user_account_path(user) assert_response :redirect - assert_redirected_to :action => "login", :referer => "/user/#{ERB::Util.u(user.display_name)}/account" + assert_redirected_to login_path(:referer => "/user/#{ERB::Util.u(user.display_name)}/account") # Make sure that you are blocked when not logged in as the right user session_for(create(:user)) @@ -1317,7 +1336,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest # Shouldn't work when not logged in get users_path assert_response :redirect - assert_redirected_to :action => :login, :referer => users_path + assert_redirected_to login_path(:referer => users_path) session_for(user)