X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/87918595da1e1fad2ddd7aa62f9fc537dff657ff..6b44a1976cf07ba50ba8aed8b34434e69a45e62d:/test/controllers/changeset_controller_test.rb diff --git a/test/controllers/changeset_controller_test.rb b/test/controllers/changeset_controller_test.rb index b1aa79810..e8fde7c92 100644 --- a/test/controllers/changeset_controller_test.rb +++ b/test/controllers/changeset_controller_test.rb @@ -557,7 +557,7 @@ CHANGESET end def test_repeated_changeset_create - 30.times do + 3.times do basic_authorization create(:user).email, "test" # create a temporary changeset @@ -580,8 +580,7 @@ CHANGESET assert_response :success, "Should be able to create a changeset: #{@response.body}" changeset_id = @response.body.to_i - # upload some widely-spaced nodes, spiralling positive and negative to cause - # largest bbox over-expansion possible. + # upload some widely-spaced nodes, spiralling positive and negative diff = < @@ -619,7 +618,7 @@ CHANGESET assert cs.min_lon >= -180 * GeoRecord::SCALE, "Minimum longitude (#{cs.min_lon / GeoRecord::SCALE}) should be >= -180 to be valid." assert cs.max_lon <= 180 * GeoRecord::SCALE, "Maximum longitude (#{cs.max_lon / GeoRecord::SCALE}) should be <= 180 to be valid." assert cs.min_lat >= -90 * GeoRecord::SCALE, "Minimum latitude (#{cs.min_lat / GeoRecord::SCALE}) should be >= -90 to be valid." - assert cs.max_lat >= 90 * GeoRecord::SCALE, "Maximum latitude (#{cs.max_lat / GeoRecord::SCALE}) should be <= 90 to be valid." + assert cs.max_lat <= 90 * GeoRecord::SCALE, "Maximum latitude (#{cs.max_lat / GeoRecord::SCALE}) should be <= 90 to be valid." end ## @@ -812,9 +811,7 @@ CHANGESET assert_equal 2, Node.find(new_node_id).tags.size, "new node should have two tags" assert_equal [new_node_id, node.id], Way.find(way.id).nds, "way nodes should match" Relation.find(relation.id).members.each do |type, id, _role| - if type == "node" - assert_equal new_node_id, id, "relation should contain new node" - end + assert_equal new_node_id, id, "relation should contain new node" if type == "node" end end @@ -1570,11 +1567,10 @@ CHANGESET # get the bounding box back from the changeset get :read, :params => { :id => changeset_id } assert_response :success, "Couldn't read back changeset for the third time." - # note that the 3.1 here is because of the bbox overexpansion assert_select "osm>changeset[min_lon='1.0000000']", 1 - assert_select "osm>changeset[max_lon='3.1000000']", 1 + assert_select "osm>changeset[max_lon='3.0000000']", 1 assert_select "osm>changeset[min_lat='1.0000000']", 1 - assert_select "osm>changeset[max_lat='3.1000000']", 1 + assert_select "osm>changeset[max_lat='3.0000000']", 1 end ## @@ -2060,6 +2056,8 @@ CHANGESET # This should display the last 20 non-empty changesets def test_feed changeset = create(:changeset, :num_changes => 1) + create(:changeset_tag, :changeset => changeset) + create(:changeset_tag, :changeset => changeset, :k => "website", :v => "http://example.com/") closed_changeset = create(:changeset, :closed, :num_changes => 1) _empty_changeset = create(:changeset, :num_changes => 0) @@ -2075,6 +2073,8 @@ CHANGESET # This should display the last 20 changesets closed in a specific area def test_feed_bbox changeset = create(:changeset, :num_changes => 1, :min_lat => 5 * GeoRecord::SCALE, :min_lon => 5 * GeoRecord::SCALE, :max_lat => 5 * GeoRecord::SCALE, :max_lon => 5 * GeoRecord::SCALE) + create(:changeset_tag, :changeset => changeset) + create(:changeset_tag, :changeset => changeset, :k => "website", :v => "http://example.com/") closed_changeset = create(:changeset, :closed, :num_changes => 1, :min_lat => 5 * GeoRecord::SCALE, :min_lon => 5 * GeoRecord::SCALE, :max_lat => 5 * GeoRecord::SCALE, :max_lon => 5 * GeoRecord::SCALE) _elsewhere_changeset = create(:changeset, :num_changes => 1, :min_lat => -5 * GeoRecord::SCALE, :min_lon => -5 * GeoRecord::SCALE, :max_lat => -5 * GeoRecord::SCALE, :max_lon => -5 * GeoRecord::SCALE) _empty_changeset = create(:changeset, :num_changes => 0, :min_lat => -5 * GeoRecord::SCALE, :min_lon => -5 * GeoRecord::SCALE, :max_lat => -5 * GeoRecord::SCALE, :max_lon => -5 * GeoRecord::SCALE) @@ -2092,6 +2092,8 @@ CHANGESET def test_feed_user user = create(:user) changesets = create_list(:changeset, 3, :user => user, :num_changes => 4) + create(:changeset_tag, :changeset => changesets[1]) + create(:changeset_tag, :changeset => changesets[1], :k => "website", :v => "http://example.com/") _other_changeset = create(:changeset) get :feed, :params => { :format => :atom, :display_name => user.display_name } @@ -2242,6 +2244,13 @@ CHANGESET post :subscribe, :params => { :id => changeset.id } end assert_response :success + + # not closed changeset + changeset = create(:changeset) + assert_difference "changeset.subscribers.count", 1 do + post :subscribe, :params => { :id => changeset.id } + end + assert_response :success end ## @@ -2264,13 +2273,6 @@ CHANGESET end assert_response :not_found - # not closed changeset - changeset = create(:changeset) - assert_no_difference "changeset.subscribers.count" do - post :subscribe, :params => { :id => changeset.id } - end - assert_response :conflict - # trying to subscribe when already subscribed changeset = create(:changeset, :closed) changeset.subscribers.push(user) @@ -2292,6 +2294,15 @@ CHANGESET post :unsubscribe, :params => { :id => changeset.id } end assert_response :success + + # not closed changeset + changeset = create(:changeset) + changeset.subscribers.push(user) + + assert_difference "changeset.subscribers.count", -1 do + post :unsubscribe, :params => { :id => changeset.id } + end + assert_response :success end ## @@ -2312,13 +2323,6 @@ CHANGESET end assert_response :not_found - # not closed changeset - changeset = create(:changeset) - assert_no_difference "changeset.subscribers.count" do - post :unsubscribe, :params => { :id => changeset.id } - end - assert_response :conflict - # trying to unsubscribe when not subscribed changeset = create(:changeset, :closed) assert_no_difference "changeset.subscribers.count" do