]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/api/changeset_comments/visibilities_controller_test.rb
Refactor api changeset comment visibility xml tests
[rails.git] / test / controllers / api / changeset_comments / visibilities_controller_test.rb
index 97ac9f3da81595805f69fcad1f637824de0fb32d..e5a9dbd8310f5f3f780ad62c863611b1650f5302 100644 (file)
@@ -84,16 +84,7 @@ module Api
 
         post api_changeset_comment_visibility_path(comment), :headers => auth_header
 
-        assert_response :success
-        assert_equal "application/xml", response.media_type
-        assert_dom "osm", 1 do
-          assert_dom "> changeset", 1 do
-            assert_dom "> @id", comment.changeset_id.to_s
-            assert_dom "> @comments_count", "1"
-          end
-        end
-
-        assert comment.reload.visible
+        check_successful_response_xml(comment, :comment_visible => true)
       end
 
       def test_create_with_write_changeset_comments_scope_json
@@ -118,16 +109,7 @@ module Api
 
         post api_changeset_comment_visibility_path(comment), :headers => auth_header
 
-        assert_response :success
-        assert_equal "application/xml", response.media_type
-        assert_dom "osm", 1 do
-          assert_dom "> changeset", 1 do
-            assert_dom "> @id", comment.changeset_id.to_s
-            assert_dom "> @comments_count", "1"
-          end
-        end
-
-        assert comment.reload.visible
+        check_successful_response_xml(comment, :comment_visible => true)
       end
 
       def test_create_with_write_api_scope_json
@@ -189,16 +171,7 @@ module Api
 
         delete api_changeset_comment_visibility_path(comment), :headers => auth_header
 
-        assert_response :success
-        assert_equal "application/xml", response.media_type
-        assert_dom "osm", 1 do
-          assert_dom "> changeset", 1 do
-            assert_dom "> @id", comment.changeset_id.to_s
-            assert_dom "> @comments_count", "0"
-          end
-        end
-
-        assert_not comment.reload.visible
+        check_successful_response_xml(comment, :comment_visible => false)
       end
 
       def test_destroy_with_write_changeset_comments_scope_json
@@ -223,16 +196,7 @@ module Api
 
         delete api_changeset_comment_visibility_path(comment), :headers => auth_header
 
-        assert_response :success
-        assert_equal "application/xml", response.media_type
-        assert_dom "osm", 1 do
-          assert_dom "> changeset", 1 do
-            assert_dom "> @id", comment.changeset_id.to_s
-            assert_dom "> @comments_count", "0"
-          end
-        end
-
-        assert_not comment.reload.visible
+        check_successful_response_xml(comment, :comment_visible => false)
       end
 
       def test_destroy_with_write_api_scope_json
@@ -250,6 +214,21 @@ module Api
 
         assert_not comment.reload.visible
       end
+
+      private
+
+      def check_successful_response_xml(comment, comment_visible:)
+        assert_response :success
+        assert_equal "application/xml", response.media_type
+        assert_dom "osm", 1 do
+          assert_dom "> changeset", 1 do
+            assert_dom "> @id", comment.changeset_id.to_s
+            assert_dom "> @comments_count", comment_visible ? "1" : "0"
+          end
+        end
+
+        assert_equal comment_visible, comment.reload.visible
+      end
     end
   end
 end