X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/2b037e2892e78192a2525b7ddaa2abb7340e65f1..a949f98ced96734e087a040e1b4fb836001a0da6:/test/functional/user_blocks_controller_test.rb diff --git a/test/functional/user_blocks_controller_test.rb b/test/functional/user_blocks_controller_test.rb index e3b786795..d52ff68c4 100644 --- a/test/functional/user_blocks_controller_test.rb +++ b/test/functional/user_blocks_controller_test.rb @@ -76,10 +76,9 @@ class UserBlocksControllerTest < ActionController::TestCase # test the show action def test_show # Viewing a block should fail when no ID is given - get :show - assert_response :not_found - assert_template "not_found" - assert_select "p", "Sorry, the user block with ID could not be found." + assert_raise ActionController::UrlGenerationError do + get :show + end # Viewing a block should fail when a bogus ID is given get :show, :id => 99999 @@ -102,7 +101,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as the blocked user session[:user] = users(:blocked_user).id - cookies["_osm_username"] = users(:blocked_user).display_name # Now viewing it should mark it as seen get :show, :id => user_blocks(:active_block) @@ -119,7 +117,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as a normal user session[:user] = users(:public_user).id - cookies["_osm_username"] = users(:public_user).display_name # Check that normal users can't load the block creation page get :new, :display_name => users(:normal_user).display_name @@ -128,7 +125,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as a moderator session[:user] = users(:moderator_user).id - cookies["_osm_username"] = users(:moderator_user).display_name # Check that the block creation page loads for moderators get :new, :display_name => users(:normal_user).display_name @@ -145,13 +141,13 @@ class UserBlocksControllerTest < ActionController::TestCase get :new assert_response :not_found assert_template "user/no_such_user" - assert_select "h2", "The user does not exist" + assert_select "h1", "The user does not exist" # We should get an error if the user doesn't exist get :new, :display_name => "non_existent_user" assert_response :not_found assert_template "user/no_such_user" - assert_select "h2", "The user non_existent_user does not exist" + assert_select "h1", "The user non_existent_user does not exist" end ## @@ -163,7 +159,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as a normal user session[:user] = users(:public_user).id - cookies["_osm_username"] = users(:public_user).display_name # Check that normal users can't load the block edit page get :edit, :id => user_blocks(:active_block).id @@ -172,7 +167,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as a moderator session[:user] = users(:moderator_user).id - cookies["_osm_username"] = users(:moderator_user).display_name # Check that the block edit page loads for moderators get :edit, :id => user_blocks(:active_block).id @@ -185,10 +179,9 @@ class UserBlocksControllerTest < ActionController::TestCase end # We should get an error if no user is specified - get :edit - assert_response :not_found - assert_template "not_found" - assert_select "p", "Sorry, the user block with ID could not be found." + assert_raise ActionController::UrlGenerationError do + get :edit + end # We should get an error if the user doesn't exist get :edit, :id => 99999 @@ -206,7 +199,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as a normal user session[:user] = users(:public_user).id - cookies["_osm_username"] = users(:public_user).display_name # Check that normal users can't create blocks post :create @@ -214,7 +206,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as a moderator session[:user] = users(:moderator_user).id - cookies["_osm_username"] = users(:moderator_user).display_name # A bogus block period should result in an error assert_no_difference "UserBlock.count" do @@ -247,33 +238,31 @@ class UserBlocksControllerTest < ActionController::TestCase post :create assert_response :not_found assert_template "user/no_such_user" - assert_select "h2", "The user does not exist" + assert_select "h1", "The user does not exist" # We should get an error if the user doesn't exist post :create, :display_name => "non_existent_user" assert_response :not_found assert_template "user/no_such_user" - assert_select "h2", "The user non_existent_user does not exist" + assert_select "h1", "The user non_existent_user does not exist" end ## # test the update action def test_update # Not logged in yet, so updating a block should fail - put :update + put :update, :id => user_blocks(:active_block).id assert_response :forbidden # Login as a normal user session[:user] = users(:public_user).id - cookies["_osm_username"] = users(:public_user).display_name # Check that normal users can't update blocks - put :update + put :update, :id => user_blocks(:active_block).id assert_response :forbidden # Login as the wrong moderator session[:user] = users(:second_moderator_user).id - cookies["_osm_username"] = users(:second_moderator_user).display_name # Check that only the person who created a block can update it assert_no_difference "UserBlock.count" do @@ -287,7 +276,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as the correct moderator session[:user] = users(:moderator_user).id - cookies["_osm_username"] = users(:moderator_user).display_name # A bogus block period should result in an error assert_no_difference "UserBlock.count" do @@ -313,10 +301,9 @@ class UserBlocksControllerTest < ActionController::TestCase assert_equal "Vandalism", b.reason # We should get an error if no block ID is specified - put :update - assert_response :not_found - assert_template "not_found" - assert_select "p", "Sorry, the user block with ID could not be found." + assert_raise ActionController::UrlGenerationError do + put :update + end # We should get an error if the block doesn't exist put :update, :id => 99999 @@ -334,7 +321,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as a normal user session[:user] = users(:public_user).id - cookies["_osm_username"] = users(:public_user).display_name # Check that normal users can't load the block revoke page get :revoke, :id => user_blocks(:active_block).id @@ -343,7 +329,6 @@ class UserBlocksControllerTest < ActionController::TestCase # Login as a moderator session[:user] = users(:moderator_user).id - cookies["_osm_username"] = users(:moderator_user).display_name # Check that the block revoke page loads for moderators get :revoke, :id => user_blocks(:active_block).id @@ -361,10 +346,9 @@ class UserBlocksControllerTest < ActionController::TestCase assert_in_delta Time.now, b.ends_at, 1 # We should get an error if no block ID is specified - get :revoke - assert_response :not_found - assert_template "not_found" - assert_select "p", "Sorry, the user block with ID could not be found." + assert_raise ActionController::UrlGenerationError do + get :revoke + end # We should get an error if the block doesn't exist get :revoke, :id => 99999 @@ -377,16 +361,15 @@ class UserBlocksControllerTest < ActionController::TestCase # test the blocks_on action def test_blocks_on # Asking for a list of blocks with no user name should fail - get :blocks_on - assert_response :not_found - assert_template "user/no_such_user" - assert_select "h2", "The user does not exist" + assert_raise ActionController::UrlGenerationError do + get :blocks_on + end # Asking for a list of blocks with a bogus user name should fail get :blocks_on, :display_name => "non_existent_user" assert_response :not_found assert_template "user/no_such_user" - assert_select "h2", "The user non_existent_user does not exist" + assert_select "h1", "The user non_existent_user does not exist" # Check the list of blocks for a user that has never been blocked get :blocks_on, :display_name => users(:normal_user).display_name @@ -416,16 +399,15 @@ class UserBlocksControllerTest < ActionController::TestCase # test the blocks_by action def test_blocks_by # Asking for a list of blocks with no user name should fail - get :blocks_by - assert_response :not_found - assert_template "user/no_such_user" - assert_select "h2", "The user does not exist" + assert_raise ActionController::UrlGenerationError do + get :blocks_by + end # Asking for a list of blocks with a bogus user name should fail get :blocks_by, :display_name => "non_existent_user" assert_response :not_found assert_template "user/no_such_user" - assert_select "h2", "The user non_existent_user does not exist" + assert_select "h1", "The user non_existent_user does not exist" # Check the list of blocks given by one moderator get :blocks_by, :display_name => users(:moderator_user).display_name