]> git.openstreetmap.org Git - rails.git/blobdiff - test/functional/relation_controller_test.rb
More trace tests
[rails.git] / test / functional / relation_controller_test.rb
index 9942353991286ba104c57687ee83e328953adf72..dc7c64de243480da525acdf6c0c025f42d485406 100644 (file)
@@ -269,6 +269,7 @@ class RelationControllerTest < ActionController::TestCase
   # happen to the correct tables and the API gives sensible results. 
   # this is to test a case that gregory marler noticed and posted to
   # josm-dev.
   # happen to the correct tables and the API gives sensible results. 
   # this is to test a case that gregory marler noticed and posted to
   # josm-dev.
+  ## FIXME Move this to an integration test
   def test_update_relation_tags
     basic_authorization "test@example.com", "test"
     rel_id = current_relations(:multi_tag_relation).id
   def test_update_relation_tags
     basic_authorization "test@example.com", "test"
     rel_id = current_relations(:multi_tag_relation).id
@@ -299,7 +300,7 @@ class RelationControllerTest < ActionController::TestCase
   # and the API gives sensible results. this is to test a case that 
   # gregory marler noticed and posted to josm-dev.
   def test_update_relation_tags_via_upload
   # and the API gives sensible results. this is to test a case that 
   # gregory marler noticed and posted to josm-dev.
   def test_update_relation_tags_via_upload
-    basic_authorization "test@example.com", "test"
+    basic_authorization users(:public_user).email, "test"
     rel_id = current_relations(:multi_tag_relation).id
     cs_id = changesets(:public_user_first_change).id
 
     rel_id = current_relations(:multi_tag_relation).id
     cs_id = changesets(:public_user_first_change).id
 
@@ -327,10 +328,10 @@ class RelationControllerTest < ActionController::TestCase
   # -------------------------------------
 
   def test_create_invalid
   # -------------------------------------
 
   def test_create_invalid
-    basic_authorization "test@openstreetmap.org", "test"
+    basic_authorization users(:public_user).email, "test"
 
     # put the relation in a dummy fixture changset
 
     # put the relation in a dummy fixture changset
-    changeset_id = changesets(:normal_user_first_change).id
+    changeset_id = changesets(:public_user_first_change).id
 
     # create a relation with non-existing node as member
     content "<osm><relation changeset='#{changeset_id}'>" +
 
     # create a relation with non-existing node as member
     content "<osm><relation changeset='#{changeset_id}'>" +
@@ -346,10 +347,10 @@ class RelationControllerTest < ActionController::TestCase
   # Test creating a relation, with some invalid XML
   # -------------------------------------
   def test_create_invalid_xml
   # Test creating a relation, with some invalid XML
   # -------------------------------------
   def test_create_invalid_xml
-    basic_authorization "test@openstreetmap.org", "test"
+    basic_authorization users(:public_user).email, "test"
     
     # put the relation in a dummy fixture changeset that works
     
     # put the relation in a dummy fixture changeset that works
-    changeset_id = changesets(:normal_user_first_change).id
+    changeset_id = changesets(:public_user_first_change).id
     
     # create some xml that should return an error
     content "<osm><relation changeset='#{changeset_id}'>" +
     
     # create some xml that should return an error
     content "<osm><relation changeset='#{changeset_id}'>" +
@@ -368,11 +369,12 @@ class RelationControllerTest < ActionController::TestCase
   # -------------------------------------
   
   def test_delete
   # -------------------------------------
   
   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
     
     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...
     basic_authorization(users(:normal_user).email, "test")
     
     # this shouldn't work, as we should need the payload...
@@ -422,7 +424,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...
     basic_authorization(users(:public_user).email, "test");  
 
     # this shouldn't work, as we should need the payload...
@@ -478,6 +480,11 @@ class RelationControllerTest < ActionController::TestCase
     content(relations(:invisible_relation).to_xml)
     delete :delete, :id => current_relations(:invisible_relation).id
     assert_response :gone
     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.
 
     # this works now because the relation which was using this one 
     # has been deleted.