]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/api/changesets_controller_test.rb
Add ordered changeset test method
[rails.git] / test / controllers / api / changesets_controller_test.rb
index 7f2cd0abb35c908d957835d12833c7648a470d57..aa83336dd7b2dca0825d7540215a7683ed7b7a5e 100644 (file)
@@ -1950,18 +1950,18 @@ module Api
 
       get changesets_path
       assert_response :success
-      assert_changesets [changeset5, changeset4, changeset3, changeset2, changeset1]
+      assert_changesets_in_order [changeset5, changeset4, changeset3, changeset2, changeset1]
 
       get changesets_path(:limit => "3")
       assert_response :success
-      assert_changesets [changeset5, changeset4, changeset3]
+      assert_changesets_in_order [changeset5, changeset4, changeset3]
 
       get changesets_path(:limit => "0")
       assert_response :bad_request
 
       get changesets_path(:limit => Settings.max_changeset_query_limit)
       assert_response :success
-      assert_changesets [changeset5, changeset4, changeset3, changeset2, changeset1]
+      assert_changesets_in_order [changeset5, changeset4, changeset3, changeset2, changeset1]
 
       get changesets_path(:limit => Settings.max_changeset_query_limit + 1)
       assert_response :bad_request
@@ -2247,8 +2247,7 @@ module Api
     private
 
     ##
-    # boilerplate for checking that certain changesets exist in the
-    # output.
+    # check that certain changesets exist in the output
     def assert_changesets(changesets)
       assert_select "osm>changeset", changesets.size
       changesets.each do |changeset|
@@ -2256,6 +2255,15 @@ module Api
       end
     end
 
+    ##
+    # check that certain changesets exist in the output in the specified order
+    def assert_changesets_in_order(changesets)
+      assert_select "osm>changeset", changesets.size
+      changesets.each_with_index do |changeset, index|
+        assert_select "osm>changeset:nth-child(#{index + 1})[id='#{changeset.id}']", 1
+      end
+    end
+
     ##
     # update the changeset_id of a way element
     def update_changeset(xml, changeset_id)