]> git.openstreetmap.org Git - rails.git/commitdiff
Refactor api changeset comment visibility xml tests
authorAnton Khorev <tony29@yandex.ru>
Sun, 23 Feb 2025 03:04:20 +0000 (06:04 +0300)
committerAnton Khorev <tony29@yandex.ru>
Sun, 23 Feb 2025 22:27:03 +0000 (01:27 +0300)
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