X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e0d0b68785bd1a765b796a826eeeb2782f841ada..c62b8b29d4f6a6c7f2b12539a690d0faa8a34b29:/test/controllers/users_controller_test.rb diff --git a/test/controllers/users_controller_test.rb b/test/controllers/users_controller_test.rb index 2db0f43b3..62bb34279 100644 --- a/test/controllers/users_controller_test.rb +++ b/test/controllers/users_controller_test.rb @@ -416,7 +416,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest # information for the user def test_show # Test a non-existent user - get user_path(:display_name => "unknown") + get user_path("unknown") assert_response :not_found # Test a normal user @@ -618,19 +618,19 @@ class UsersControllerTest < ActionDispatch::IntegrationTest get users_path assert_response :success assert_template :index - assert_select "table#user_list tr", :count => 7 + 1 + assert_select "table#user_list tbody tr", :count => 7 # Should be able to limit by status get users_path, :params => { :status => "suspended" } assert_response :success assert_template :index - assert_select "table#user_list tr", :count => 1 + 1 + assert_select "table#user_list tbody tr", :count => 1 # Should be able to limit by IP address get users_path, :params => { :ip => "1.2.3.4" } assert_response :success assert_template :index - assert_select "table#user_list tr", :count => 1 + 1 + assert_select "table#user_list tbody tr", :count => 1 end def test_index_get_paginated @@ -644,23 +644,44 @@ class UsersControllerTest < ActionDispatch::IntegrationTest # 100 examples, an administrator, and a granter for the admin. assert_equal 102, User.count + next_path = users_path - get users_path + get next_path assert_response :success assert_template :index - assert_select "table#user_list tr", :count => 51 + assert_select "table#user_list tbody tr", :count => 50 + check_no_page_link "Newer Users" + next_path = check_page_link "Older Users" - get users_path, :params => { :page => 2 } + get next_path assert_response :success assert_template :index - assert_select "table#user_list tr", :count => 51 + assert_select "table#user_list tbody tr", :count => 50 + check_page_link "Newer Users" + next_path = check_page_link "Older Users" - get users_path, :params => { :page => 3 } + get next_path assert_response :success assert_template :index - assert_select "table#user_list tr", :count => 3 + assert_select "table#user_list tbody tr", :count => 2 + check_page_link "Newer Users" + check_no_page_link "Older Users" + end + + private + + def check_no_page_link(name) + assert_select "a.page-link", { :text => /#{Regexp.quote(name)}/, :count => 0 }, "unexpected #{name} page link" end + def check_page_link(name) + assert_select "a.page-link", { :text => /#{Regexp.quote(name)}/ }, "missing #{name} page link" do |buttons| + return buttons.first.attributes["href"].value + end + end + + public + def test_index_post_confirm inactive_user = create(:user, :pending) suspended_user = create(:user, :suspended)