+ assert_select "way", :count => 2
+ assert_select "way[id='#{way1.id}']", :count => 1
+ assert_select "way[id='#{way2.id}']", :count => 1
+ assert_select "relation", :count => 1
+ assert_select "relation[id='#{relation.id}']", :count => 1
+ end
+ end
+
+ def test_map_complete_way
+ node = create(:node, :lat => 7, :lon => 7)
+ # create a couple of nodes well outside of the bbox
+ node2 = create(:node, :lat => 45, :lon => 45)
+ node3 = create(:node, :lat => 10, :lon => 10)
+ way1 = create(:way_node, :node => node).way
+ create(:way_node, :way => way1, :node => node2, :sequence_id => 2)
+ way2 = create(:way_node, :node => node).way
+ create(:way_node, :way => way2, :node => node3, :sequence_id => 2)
+ relation = create(:relation_member, :member => way1).relation
+
+ bbox = "#{node.lon},#{node.lat},#{node.lon},#{node.lat}"
+ get :map, :bbox => bbox
+ assert_response :success, "The map call should have succeeded"
+ assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']", :count => 1 do
+ assert_select "bounds[minlon='#{node.lon}'][minlat='#{node.lat}'][maxlon='#{node.lon}'][maxlat='#{node.lat}']", :count => 1
+ assert_select "node", :count => 3
+ assert_select "node[id='#{node.id}']", :count => 1
+ assert_select "node[id='#{node2.id}']", :count => 1
+ assert_select "node[id='#{node3.id}']", :count => 1
+ assert_select "way", :count => 2
+ assert_select "way[id='#{way1.id}']", :count => 1
+ assert_select "way[id='#{way2.id}']", :count => 1
+ assert_select "relation", :count => 1
+ assert_select "relation[id='#{relation.id}']", :count => 1
+ end
+ end
+
+ def test_map_empty
+ get :map, :bbox => "179.998,89.998,179.999.1,89.999"
+ assert_response :success, "The map call should have succeeded"
+ assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']", :count => 1 do
+ assert_select "bounds[minlon='179.998'][minlat='89.998'][maxlon='179.999'][maxlat='89.999']", :count => 1
+ assert_select "node", :count => 0
+ assert_select "way", :count => 0
+ assert_select "relation", :count => 0