X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/4197b2d008dc6b524b3f5f4ed632e581b6d74b51..532275fa93e3286e97bc45fd9e38e50e9c79c1b4:/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 39b1f3cf8..ff77ef6ce 100644 --- a/test/controllers/api/changesets_controller_test.rb +++ b/test/controllers/api/changesets_controller_test.rb @@ -193,6 +193,7 @@ module Api # one hidden comment not included because not asked for comment2.update(:visible => false) + changeset.reload get changeset_show_path(changeset), :params => { :include_discussion => true } assert_response :success, "cannot get closed changeset with comments" @@ -248,6 +249,22 @@ module Api end end + def test_show_tags + changeset = create(:changeset, :closed) + create(:changeset_tag, :changeset => changeset, :k => "created_by", :v => "JOSM/1.5 (18364)") + create(:changeset_tag, :changeset => changeset, :k => "comment", :v => "changeset comment") + + get changeset_show_path(changeset) + + assert_response :success + assert_dom "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1 + assert_single_changeset changeset do + assert_dom "> tag", 2 + assert_dom "> tag[k='created_by'][v='JOSM/1.5 (18364)']", 1 + assert_dom "> tag[k='comment'][v='changeset comment']", 1 + end + end + def test_show_json changeset = create(:changeset) @@ -304,6 +321,7 @@ module Api # one hidden comment not included because not asked for comment1.update(:visible => false) + changeset.reload get changeset_show_path(changeset), :params => { :format => "json", :include_discussion => true } assert_response :success, "cannot get closed changeset with comments" @@ -356,39 +374,22 @@ module Api assert js["changeset"]["comments"][2]["visible"] end - def test_show_tag_and_discussion_json + def test_show_tags_json changeset = create(:changeset, :closed) + create(:changeset_tag, :changeset => changeset, :k => "created_by", :v => "JOSM/1.5 (18364)") + create(:changeset_tag, :changeset => changeset, :k => "comment", :v => "changeset comment") - tag1 = ChangesetTag.new - tag1.changeset_id = changeset.id - tag1.k = "created_by" - tag1.v = "JOSM/1.5 (18364)" - - tag2 = ChangesetTag.new - tag2.changeset_id = changeset.id - tag2.k = "comment" - tag2.v = "changeset comment" - - changeset.changeset_tags = [tag1, tag2] - - create_list(:changeset_comment, 3, :changeset_id => changeset.id) - - get changeset_show_path(changeset), :params => { :format => "json", :include_discussion => true } - assert_response :success, "cannot get closed changeset with comments" + get changeset_show_path(changeset, :format => "json") + assert_response :success js = ActiveSupport::JSON.decode(@response.body) - assert_not_nil js assert_equal Settings.api_version, js["version"] assert_equal Settings.generator, js["generator"] assert_single_changeset_json changeset, js assert_equal 2, js["changeset"]["tags"].count - assert_equal 3, js["changeset"]["comments"].count - assert_equal 3, js["changeset"]["comments_count"] - assert_equal 0, js["changeset"]["changes_count"] - assert_not_nil js["changeset"]["comments"][0]["uid"] - assert_not_nil js["changeset"]["comments"][0]["user"] - assert_not_nil js["changeset"]["comments"][0]["text"] + assert_equal "JOSM/1.5 (18364)", js["changeset"]["tags"]["created_by"] + assert_equal "changeset comment", js["changeset"]["tags"]["comment"] end def test_show_bbox_json @@ -2683,6 +2684,8 @@ module Api assert_dom "> @open", "false" assert_dom "> @closed_at", changeset.closed_at.xmlschema end + assert_dom "> @comments_count", changeset.comments.length.to_s + assert_dom "> @changes_count", changeset.num_changes.to_s yield if block_given? end end @@ -2697,6 +2700,8 @@ module Api assert_not js["changeset"]["open"] assert_equal changeset.closed_at.xmlschema, js["changeset"]["closed_at"] end + assert_equal changeset.comments.length, js["changeset"]["comments_count"] + assert_equal changeset.num_changes, js["changeset"]["changes_count"] end ##