X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/53817fa9e8d955df0891d156f21b7269b4ed08fc..73a60baf8ce92a63cbeec73bcccb4b70950a6591:/test/controllers/api/changesets_controller_test.rb?ds=sidebyside diff --git a/test/controllers/api/changesets_controller_test.rb b/test/controllers/api/changesets_controller_test.rb index c8fed5cbc..be1033ea6 100644 --- a/test/controllers/api/changesets_controller_test.rb +++ b/test/controllers/api/changesets_controller_test.rb @@ -51,11 +51,11 @@ module Api ) assert_routing( { :path => "/api/0.6/changesets", :method => :get }, - { :controller => "api/changesets", :action => "query" } + { :controller => "api/changesets", :action => "index" } ) assert_routing( { :path => "/api/0.6/changesets.json", :method => :get }, - { :controller => "api/changesets", :action => "query", :format => "json" } + { :controller => "api/changesets", :action => "index", :format => "json" } ) end @@ -281,11 +281,11 @@ module Api assert_single_changeset_json changeset, js assert_equal 3, js["changeset"]["comments"].count assert_equal comment0.id, js["changeset"]["comments"][0]["id"] - assert_operator true, :==, js["changeset"]["comments"][0]["visible"] + assert js["changeset"]["comments"][0]["visible"] assert_equal comment1.id, js["changeset"]["comments"][1]["id"] - assert_operator true, :==, js["changeset"]["comments"][1]["visible"] + assert js["changeset"]["comments"][1]["visible"] assert_equal comment2.id, js["changeset"]["comments"][2]["id"] - assert_operator true, :==, js["changeset"]["comments"][2]["visible"] + assert js["changeset"]["comments"][2]["visible"] # one hidden comment not included because not asked for comment1.update(:visible => false) @@ -300,9 +300,9 @@ module Api assert_single_changeset_json changeset, js assert_equal 2, js["changeset"]["comments"].count assert_equal comment0.id, js["changeset"]["comments"][0]["id"] - assert_operator true, :==, js["changeset"]["comments"][0]["visible"] + assert js["changeset"]["comments"][0]["visible"] assert_equal comment2.id, js["changeset"]["comments"][1]["id"] - assert_operator true, :==, js["changeset"]["comments"][1]["visible"] + assert js["changeset"]["comments"][1]["visible"] # one hidden comment not included because no permissions get changeset_show_path(changeset), :params => { :format => "json", :include_discussion => true, :show_hidden_comments => true } @@ -315,10 +315,10 @@ module Api assert_single_changeset_json changeset, js assert_equal 2, js["changeset"]["comments"].count assert_equal comment0.id, js["changeset"]["comments"][0]["id"] - assert_operator true, :==, js["changeset"]["comments"][0]["visible"] + assert js["changeset"]["comments"][0]["visible"] # maybe will show an empty comment element with visible=false in the future assert_equal comment2.id, js["changeset"]["comments"][1]["id"] - assert_operator true, :==, js["changeset"]["comments"][1]["visible"] + assert js["changeset"]["comments"][1]["visible"] # one hidden comment shown to moderators moderator_user = create(:moderator_user) @@ -334,11 +334,11 @@ module Api assert_single_changeset_json changeset, js assert_equal 3, js["changeset"]["comments"].count assert_equal comment0.id, js["changeset"]["comments"][0]["id"] - assert_operator true, :==, js["changeset"]["comments"][0]["visible"] + assert js["changeset"]["comments"][0]["visible"] assert_equal comment1.id, js["changeset"]["comments"][1]["id"] - assert_operator false, :==, js["changeset"]["comments"][1]["visible"] + assert_not js["changeset"]["comments"][1]["visible"] assert_equal comment2.id, js["changeset"]["comments"][2]["id"] - assert_operator true, :==, js["changeset"]["comments"][2]["visible"] + assert js["changeset"]["comments"][2]["visible"] end def test_show_tag_and_discussion_json @@ -1995,6 +1995,40 @@ module Api end end + test "sorts downloaded elements by timestamp" do + changeset = create(:changeset) + node1 = create(:old_node, :version => 2, :timestamp => "2020-02-01", :changeset => changeset) + node0 = create(:old_node, :version => 2, :timestamp => "2020-01-01", :changeset => changeset) + + get changeset_download_path(changeset) + assert_response :success + assert_dom "modify", :count => 2 do |modify| + assert_dom modify[0], ">node", :count => 1 do |node| + assert_dom node, ">@id", node0.node_id.to_s + end + assert_dom modify[1], ">node", :count => 1 do |node| + assert_dom node, ">@id", node1.node_id.to_s + end + end + end + + test "sorts downloaded elements by version" do + changeset = create(:changeset) + node1 = create(:old_node, :version => 3, :timestamp => "2020-01-01", :changeset => changeset) + node0 = create(:old_node, :version => 2, :timestamp => "2020-01-01", :changeset => changeset) + + get changeset_download_path(changeset) + assert_response :success + assert_dom "modify", :count => 2 do |modify| + assert_dom modify[0], ">node", :count => 1 do |node| + assert_dom node, ">@id", node0.node_id.to_s + end + assert_dom modify[1], ">node", :count => 1 do |node| + assert_dom node, ">@id", node1.node_id.to_s + end + end + end + ## # check that the bounding box of a changeset gets updated correctly # FIXME: This should really be moded to a integration test due to the with_controller @@ -2402,7 +2436,7 @@ module Api assert_response :success, "can't create a new node" node_id = @response.body.to_i - get api_node_path(:id => node_id) + get api_node_path(node_id) assert_response :success, "can't read back new node" node_doc = XML::Parser.string(@response.body).parse node_xml = node_doc.find("//osm/node").first @@ -2413,7 +2447,7 @@ module Api node_xml["lon"] = rand.to_s node_xml["version"] = (i + 1).to_s - put api_node_path(:id => node_id), :params => node_doc.to_s, :headers => auth_header + put api_node_path(node_id), :params => node_doc.to_s, :headers => auth_header assert_response :success, "attempt #{i} should have succeeded" end @@ -2422,7 +2456,7 @@ module Api node_xml["lon"] = rand.to_s node_xml["version"] = offset.to_s - put api_node_path(:id => node_id), :params => node_doc.to_s, :headers => auth_header + put api_node_path(node_id), :params => node_doc.to_s, :headers => auth_header assert_response :conflict, "final attempt should have failed" end @@ -2572,10 +2606,10 @@ module Api assert_equal changeset.id, js["changeset"]["id"] assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"] if changeset.open? - assert_operator true, :==, js["changeset"]["open"] + assert js["changeset"]["open"] assert_nil js["changeset"]["closed_at"] else - assert_operator false, :==, js["changeset"]["open"] + assert_not js["changeset"]["open"] assert_equal changeset.closed_at.xmlschema, js["changeset"]["closed_at"] end end