Add ordered changeset test method

This commit is contained in:
Anton Khorev 2023-08-12 03:40:52 +03:00
parent f47eeb0632
commit abdce62a03

View file

@ -1950,18 +1950,18 @@ module Api
get changesets_path get changesets_path
assert_response :success assert_response :success
assert_changesets [changeset5, changeset4, changeset3, changeset2, changeset1] assert_changesets_in_order [changeset5, changeset4, changeset3, changeset2, changeset1]
get changesets_path(:limit => "3") get changesets_path(:limit => "3")
assert_response :success assert_response :success
assert_changesets [changeset5, changeset4, changeset3] assert_changesets_in_order [changeset5, changeset4, changeset3]
get changesets_path(:limit => "0") get changesets_path(:limit => "0")
assert_response :bad_request assert_response :bad_request
get changesets_path(:limit => Settings.max_changeset_query_limit) get changesets_path(:limit => Settings.max_changeset_query_limit)
assert_response :success 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) get changesets_path(:limit => Settings.max_changeset_query_limit + 1)
assert_response :bad_request assert_response :bad_request
@ -2247,8 +2247,7 @@ module Api
private private
## ##
# boilerplate for checking that certain changesets exist in the # check that certain changesets exist in the output
# output.
def assert_changesets(changesets) def assert_changesets(changesets)
assert_select "osm>changeset", changesets.size assert_select "osm>changeset", changesets.size
changesets.each do |changeset| changesets.each do |changeset|
@ -2256,6 +2255,15 @@ module Api
end end
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 # update the changeset_id of a way element
def update_changeset(xml, changeset_id) def update_changeset(xml, changeset_id)