X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/541f0630ac0a63d0477aa4d6cfb01c648290b963..323b7032baf2cb664dbdf80b22e2edce5632fb09:/test/controllers/user_blocks_controller_test.rb diff --git a/test/controllers/user_blocks_controller_test.rb b/test/controllers/user_blocks_controller_test.rb index 2e9d79ef7..d28194fdc 100644 --- a/test/controllers/user_blocks_controller_test.rb +++ b/test/controllers/user_blocks_controller_test.rb @@ -352,10 +352,9 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest :user_block_period => "12", :user_block => { :needs_view => false, :reason => "Vandalism" }) end - id = UserBlock.order(:id).ids.last - assert_redirected_to user_block_path(:id => id) + b = UserBlock.last + assert_redirected_to user_block_path(:id => b.id) assert_equal "Created a block on user #{target_user.display_name}.", flash[:notice] - b = UserBlock.find(id) assert_in_delta Time.now.utc, b.created_at, 1 assert_in_delta Time.now.utc, b.updated_at, 1 assert_in_delta Time.now.utc + 12.hours, b.ends_at, 1 @@ -388,7 +387,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest :user_block_period => "336", :user_block => { :needs_view => false, :reason => "Vandalism" }) - block = UserBlock.order(:id).last + block = UserBlock.last assert_equal 1209600, block.ends_at - block.created_at end @@ -470,7 +469,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest assert_equal "Original Reason", block.reason session_for(creator_user) - check_block_updates(block) + check_inactive_block_updates(block) end ## @@ -492,10 +491,10 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest assert_equal "Original Reason", block.reason session_for(creator_user) - check_block_updates(block) + check_inactive_block_updates(block) session_for(revoker_user) - check_block_updates(block) + check_inactive_block_updates(block) end ## @@ -799,7 +798,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest end end - def check_block_updates(block) + def check_inactive_block_updates(block) put user_block_path(block, :user_block_period => "0", :user_block => { :needs_view => false, :reason => "Updated Reason" }) @@ -811,12 +810,30 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest put user_block_path(block, :user_block_period => "0", - :user_block => { :needs_view => true, :reason => "Updated Reason 2" }) + :user_block => { :needs_view => true, :reason => "Updated Reason Needs View" }) + assert_response :success + assert_equal "This block is inactive and cannot be reactivated.", flash[:error] + block.reload + assert_not_predicate block, :active? + assert_equal "Updated Reason", block.reason + + put user_block_path(block, + :user_block_period => "1", + :user_block => { :needs_view => false, :reason => "Updated Reason Duration Extended" }) + assert_response :success + assert_equal "This block is inactive and cannot be reactivated.", flash[:error] + block.reload + assert_not_predicate block, :active? + assert_equal "Updated Reason", block.reason + + put user_block_path(block, + :user_block_period => "0", + :user_block => { :needs_view => false, :reason => "Updated Reason Again" }) assert_redirected_to user_block_path(block) assert_equal "Block updated.", flash[:notice] block.reload - assert_predicate block, :active? - assert_equal "Updated Reason 2", block.reason + assert_not_predicate block, :active? + assert_equal "Updated Reason Again", block.reason end def check_user_blocks_table(user_blocks)