Add functional tests for nodes/ways/relations API methods
This commit is contained in:
parent
a1a5706203
commit
755585e230
3 changed files with 82 additions and 0 deletions
|
@ -418,6 +418,34 @@ class NodeControllerTest < ActionController::TestCase
|
||||||
assert_response :success, "a valid update request failed"
|
assert_response :success, "a valid update request failed"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# test fetching multiple nodes
|
||||||
|
def test_nodes
|
||||||
|
# check error when no parameter provided
|
||||||
|
get :nodes
|
||||||
|
assert_response :bad_request
|
||||||
|
|
||||||
|
# check error when no parameter value provided
|
||||||
|
get :nodes, :nodes => ""
|
||||||
|
assert_response :bad_request
|
||||||
|
|
||||||
|
# test a working call
|
||||||
|
get :nodes, :nodes => "1,2,4,15,17"
|
||||||
|
assert_response :success
|
||||||
|
assert_select "osm" do
|
||||||
|
assert_select "node", :count => 5
|
||||||
|
assert_select "node[id=1][visible=true]", :count => 1
|
||||||
|
assert_select "node[id=2][visible=false]", :count => 1
|
||||||
|
assert_select "node[id=4][visible=true]", :count => 1
|
||||||
|
assert_select "node[id=15][visible=true]", :count => 1
|
||||||
|
assert_select "node[id=17][visible=false]", :count => 1
|
||||||
|
end
|
||||||
|
|
||||||
|
# check error when a non-existent node is included
|
||||||
|
get :nodes, :nodes => "1,2,4,15,17,400"
|
||||||
|
assert_response :not_found
|
||||||
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# test adding tags to a node
|
# test adding tags to a node
|
||||||
def test_duplicate_tags
|
def test_duplicate_tags
|
||||||
|
|
|
@ -114,6 +114,33 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# test fetching multiple relations
|
||||||
|
def test_relations
|
||||||
|
# check error when no parameter provided
|
||||||
|
get :relations
|
||||||
|
assert_response :bad_request
|
||||||
|
|
||||||
|
# check error when no parameter value provided
|
||||||
|
get :relations, :relations => ""
|
||||||
|
assert_response :bad_request
|
||||||
|
|
||||||
|
# test a working call
|
||||||
|
get :relations, :relations => "1,2,4,7"
|
||||||
|
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
|
||||||
|
end
|
||||||
|
|
||||||
|
# check error when a non-existent relation is included
|
||||||
|
get :relations, :relations => "1,2,4,7,400"
|
||||||
|
assert_response :not_found
|
||||||
|
end
|
||||||
|
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# Test simple relation creation.
|
# Test simple relation creation.
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
|
|
|
@ -79,6 +79,33 @@ class WayControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# test fetching multiple ways
|
||||||
|
def test_ways
|
||||||
|
# check error when no parameter provided
|
||||||
|
get :ways
|
||||||
|
assert_response :bad_request
|
||||||
|
|
||||||
|
# check error when no parameter value provided
|
||||||
|
get :ways, :ways => ""
|
||||||
|
assert_response :bad_request
|
||||||
|
|
||||||
|
# test a working call
|
||||||
|
get :ways, :ways => "1,2,4,6"
|
||||||
|
assert_response :success
|
||||||
|
assert_select "osm" do
|
||||||
|
assert_select "way", :count => 4
|
||||||
|
assert_select "way[id=1][visible=true]", :count => 1
|
||||||
|
assert_select "way[id=2][visible=false]", :count => 1
|
||||||
|
assert_select "way[id=4][visible=true]", :count => 1
|
||||||
|
assert_select "way[id=6][visible=true]", :count => 1
|
||||||
|
end
|
||||||
|
|
||||||
|
# check error when a non-existent way is included
|
||||||
|
get :ways, :ways => "1,2,4,6,400"
|
||||||
|
assert_response :not_found
|
||||||
|
end
|
||||||
|
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# Test simple way creation.
|
# Test simple way creation.
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue