X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/2764591a7d4086fbc2a0ed3dff6cacca0dc58168..9e807aeca0105497ced7e75bb434a88f41865204:/test/controllers/user_blocks_controller_test.rb?ds=sidebyside diff --git a/test/controllers/user_blocks_controller_test.rb b/test/controllers/user_blocks_controller_test.rb index 0c59e1439..d28194fdc 100644 --- a/test/controllers/user_blocks_controller_test.rb +++ b/test/controllers/user_blocks_controller_test.rb @@ -215,19 +215,6 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest check_block_buttons block, :edit => 1 end - private - - def check_block_buttons(block, edit: 0, revoke: 0) - [user_blocks_path, user_block_path(block)].each do |path| - get path - assert_response :success - assert_select "a[href='#{edit_user_block_path block}']", :count => edit - assert_select "a[href='#{revoke_user_block_path block}']", :count => revoke - end - end - - public - ## # test the new action def test_new @@ -365,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 @@ -401,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 @@ -483,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 ## @@ -505,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 ## @@ -803,7 +789,16 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest private - def check_block_updates(block) + def check_block_buttons(block, edit: 0, revoke: 0) + [user_blocks_path, user_block_path(block)].each do |path| + get path + assert_response :success + assert_select "a[href='#{edit_user_block_path block}']", :count => edit + assert_select "a[href='#{revoke_user_block_path block}']", :count => revoke + end + end + + def check_inactive_block_updates(block) put user_block_path(block, :user_block_period => "0", :user_block => { :needs_view => false, :reason => "Updated Reason" }) @@ -815,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)