From: Andy Allan Date: Wed, 26 Jul 2023 15:45:00 +0000 (+0100) Subject: Merge pull request #3933 from AntonKhorev/api-changesets-limit X-Git-Tag: live~1282 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/925d12cc8176414d0f9531832862a5825783d132?hp=-c Merge pull request #3933 from AntonKhorev/api-changesets-limit Add limit parameter to api changesets query --- 925d12cc8176414d0f9531832862a5825783d132 diff --combined test/controllers/api/changesets_controller_test.rb index cb82b5664,fc24bb8b6..40b8bc9f2 --- a/test/controllers/api/changesets_controller_test.rb +++ b/test/controllers/api/changesets_controller_test.rb @@@ -272,7 -272,7 +272,7 @@@ module Ap js = ActiveSupport::JSON.decode(@response.body) assert_not_nil js assert_equal(-5, js["changeset"]["min_lat"]) - assert_equal 5, js["changeset"]["min_lon"] + assert_equal 5, js["changeset"]["min_lon"] assert_equal 15, js["changeset"]["max_lat"] assert_equal 12, js["changeset"]["max_lon"] end @@@ -1938,6 -1938,31 +1938,31 @@@ assert_response :bad_request, "should be a bad request since changesets is empty" end + ## + # test the query functionality of changesets with the limit parameter + def test_query_limit + user = create(:user) + changeset1 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 1, 1, 0, 0, 0), :closed_at => Time.utc(2008, 1, 2, 0, 0, 0)) + changeset2 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 2, 1, 0, 0, 0), :closed_at => Time.utc(2008, 2, 2, 0, 0, 0)) + changeset3 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 3, 1, 0, 0, 0), :closed_at => Time.utc(2008, 3, 2, 0, 0, 0)) + changeset4 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 4, 1, 0, 0, 0), :closed_at => Time.utc(2008, 4, 2, 0, 0, 0)) + changeset5 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 5, 1, 0, 0, 0), :closed_at => Time.utc(2008, 5, 2, 0, 0, 0)) + + get changesets_path + assert_response :success + assert_changesets [changeset5, changeset4, changeset3, changeset2, changeset1] + + get changesets_path(:limit => "3") + assert_response :success + assert_changesets [changeset5, changeset4, changeset3] + + get changesets_path(:limit => "0") + assert_response :bad_request + + get changesets_path(:limit => "101") + assert_response :bad_request + end + ## # check that errors are returned if garbage is inserted # into query strings