X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/56d990ff68eb39ca49fd0871901313b3384826b7..396f2e28dd27d514f7882c3918103b12764038de:/test/controllers/relation_controller_test.rb?ds=inline diff --git a/test/controllers/relation_controller_test.rb b/test/controllers/relation_controller_test.rb index 51cf2e6d0..afdab1bf2 100644 --- a/test/controllers/relation_controller_test.rb +++ b/test/controllers/relation_controller_test.rb @@ -2,8 +2,6 @@ require "test_helper" require "relation_controller" class RelationControllerTest < ActionController::TestCase - api_fixtures - ## # test all routes which lead to this controller def test_routes @@ -164,6 +162,12 @@ class RelationControllerTest < ActionController::TestCase ## # test fetching multiple relations def test_relations + relation1 = create(:relation) + relation2 = create(:relation, :deleted) + relation3 = create(:relation, :with_history, :version => 2) + relation4 = create(:relation, :with_history, :version => 2) + relation4.old_relations.find_by(:version => 1).redact!(create(:redaction)) + # check error when no parameter provided get :relations assert_response :bad_request @@ -173,18 +177,18 @@ class RelationControllerTest < ActionController::TestCase assert_response :bad_request # test a working call - get :relations, :relations => "1,2,4,7" + get :relations, :relations => "#{relation1.id},#{relation2.id},#{relation3.id},#{relation4.id}" assert_response :success assert_select "osm" do assert_select "relation", :count => 4 - assert_select "relation[id='1'][visible='true']", :count => 1 - assert_select "relation[id='2'][visible='false']", :count => 1 - assert_select "relation[id='4'][visible='true']", :count => 1 - assert_select "relation[id='7'][visible='true']", :count => 1 + assert_select "relation[id='#{relation1.id}'][visible='true']", :count => 1 + assert_select "relation[id='#{relation2.id}'][visible='false']", :count => 1 + assert_select "relation[id='#{relation3.id}'][visible='true']", :count => 1 + assert_select "relation[id='#{relation4.id}'][visible='true']", :count => 1 end # check error when a non-existent relation is included - get :relations, :relations => "1,2,4,7,400" + get :relations, :relations => "#{relation1.id},#{relation2.id},#{relation3.id},#{relation4.id},400" assert_response :not_found end @@ -737,15 +741,15 @@ class RelationControllerTest < ActionController::TestCase basic_authorization(user.email, "test") - doc_str = < - - - - - - - + doc_str = < + + + + + + + OSM doc = XML::Parser.string(doc_str).parse @@ -797,15 +801,15 @@ OSM node1 = create(:node) node2 = create(:node) - doc_str = < - - - - - - - + doc_str = < + + + + + + + OSM doc = XML::Parser.string(doc_str).parse @@ -840,15 +844,15 @@ OSM node3 = create(:node) node4 = create(:node) - doc_str = < - - - - - - - + doc_str = < + + + + + + + OSM doc = XML::Parser.string(doc_str).parse basic_authorization(user.email, "test") @@ -963,10 +967,10 @@ OSM assert_response :success, "can't re-read changeset for modify test" assert_select "osm>changeset", 1, "Changeset element doesn't exist in #{@response.body}" assert_select "osm>changeset[id='#{changeset_id}']", 1, "Changeset id=#{changeset_id} doesn't exist in #{@response.body}" - assert_select "osm>changeset[min_lon='#{bbox.min_lon}']", 1, "Changeset min_lon wrong in #{@response.body}" - assert_select "osm>changeset[min_lat='#{bbox.min_lat}']", 1, "Changeset min_lat wrong in #{@response.body}" - assert_select "osm>changeset[max_lon='#{bbox.max_lon}']", 1, "Changeset max_lon wrong in #{@response.body}" - assert_select "osm>changeset[max_lat='#{bbox.max_lat}']", 1, "Changeset max_lat wrong in #{@response.body}" + assert_select "osm>changeset[min_lon='#{format('%.7f', bbox.min_lon)}']", 1, "Changeset min_lon wrong in #{@response.body}" + assert_select "osm>changeset[min_lat='#{format('%.7f', bbox.min_lat)}']", 1, "Changeset min_lat wrong in #{@response.body}" + assert_select "osm>changeset[max_lon='#{format('%.7f', bbox.max_lon)}']", 1, "Changeset max_lon wrong in #{@response.body}" + assert_select "osm>changeset[max_lat='#{format('%.7f', bbox.max_lat)}']", 1, "Changeset max_lat wrong in #{@response.body}" end end