X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/f47ba4fb2351ee9268d9adb94daa6be035a0396f..98a76339b84450999b0cadeacf528a78cff09cae:/test/functional/relation_controller_test.rb diff --git a/test/functional/relation_controller_test.rb b/test/functional/relation_controller_test.rb index fa49bd98b..e51db0b75 100644 --- a/test/functional/relation_controller_test.rb +++ b/test/functional/relation_controller_test.rb @@ -341,6 +341,7 @@ class RelationControllerTest < ActionController::TestCase # expect failure assert_response :precondition_failed, "relation upload with invalid node did not return 'precondition failed'" + assert_equal "Precondition failed: Cannot create relation: data or member data is invalid.", @response.body end # ------------------------------------- @@ -369,11 +370,12 @@ class RelationControllerTest < ActionController::TestCase # ------------------------------------- def test_delete - # first try to delete relation without auth + ## First try to delete relation without auth delete :delete, :id => current_relations(:visible_relation).id assert_response :unauthorized - ## First try with the private user, to make sure that you get a forbidden + + ## Then try with the private user, to make sure that you get a forbidden basic_authorization(users(:normal_user).email, "test") # this shouldn't work, as we should need the payload... @@ -423,7 +425,7 @@ class RelationControllerTest < ActionController::TestCase - # now set auth for the private user + ## now set auth for the public user basic_authorization(users(:public_user).email, "test"); # this shouldn't work, as we should need the payload... @@ -464,6 +466,7 @@ class RelationControllerTest < ActionController::TestCase delete :delete, :id => current_relations(:public_used_relation).id assert_response :precondition_failed, "shouldn't be able to delete a relation used in a relation (#{@response.body})" + assert_equal "Precondition failed: The relation 5 is used in relation 6.", @response.body # this should work when we provide the appropriate payload... content(relations(:multi_tag_relation).to_xml) @@ -479,6 +482,11 @@ class RelationControllerTest < ActionController::TestCase content(relations(:invisible_relation).to_xml) delete :delete, :id => current_relations(:invisible_relation).id assert_response :gone + + # Public visible relation needs to be deleted + content(relations(:public_visible_relation).to_xml) + delete :delete, :id => current_relations(:public_visible_relation).id + assert_response :success # this works now because the relation which was using this one # has been deleted.