Fixed node functional tests. A couple of changes to the old_node model and node controller for changesets.
This commit is contained in:
parent
734cbb967d
commit
a2498928e4
6 changed files with 21 additions and 12 deletions
6
test/fixtures/node_tags.yml
vendored
6
test/fixtures/node_tags.yml
vendored
|
@ -1,17 +1,17 @@
|
|||
t1:
|
||||
id: visible_node
|
||||
id: 1
|
||||
k: testvisible
|
||||
v: yes
|
||||
version: 1
|
||||
|
||||
t2:
|
||||
id: used_node_1
|
||||
id: 3
|
||||
k: testused
|
||||
v: yes
|
||||
version: 1
|
||||
|
||||
t3:
|
||||
id: used_node_2
|
||||
id: 4
|
||||
k: test
|
||||
v: yes
|
||||
version: 1
|
||||
|
|
|
@ -21,10 +21,14 @@ class NodeControllerTest < Test::Unit::TestCase
|
|||
# create a node with random lat/lon
|
||||
lat = rand(100)-50 + rand
|
||||
lon = rand(100)-50 + rand
|
||||
content("<osm><node lat='#{lat}' lon='#{lon}' /></osm>")
|
||||
# normal user has a changeset open, so we'll use that.
|
||||
changeset = changesets(:normal_user_first_change)
|
||||
# create a minimal xml file
|
||||
content("<osm><node lat='#{lat}' lon='#{lon}' changeset='#{changeset.id}'/></osm>")
|
||||
put :create
|
||||
# hope for success
|
||||
assert_response :success, "node upload did not return success status"
|
||||
|
||||
# read id of created node and search for it
|
||||
nodeid = @response.body
|
||||
checknode = Node.find(nodeid)
|
||||
|
@ -32,7 +36,7 @@ class NodeControllerTest < Test::Unit::TestCase
|
|||
# compare values
|
||||
assert_in_delta lat * 10000000, checknode.latitude, 1, "saved node does not match requested latitude"
|
||||
assert_in_delta lon * 10000000, checknode.longitude, 1, "saved node does not match requested longitude"
|
||||
assert_equal users(:normal_user).id, checknode.user_id, "saved node does not belong to user that created it"
|
||||
assert_equal changesets(:normal_user_first_change).id, checknode.changeset_id, "saved node does not belong to changeset that it was created in"
|
||||
assert_equal true, checknode.visible, "saved node is not visible"
|
||||
end
|
||||
|
||||
|
@ -61,11 +65,13 @@ class NodeControllerTest < Test::Unit::TestCase
|
|||
# now set auth
|
||||
basic_authorization(users(:normal_user).email, "test");
|
||||
|
||||
# this should work
|
||||
# delete now takes a payload
|
||||
content(nodes(:visible_node).to_xml)
|
||||
delete :delete, :id => current_nodes(:visible_node).id
|
||||
assert_response :success
|
||||
|
||||
# this won't work since the node is already deleted
|
||||
content(nodes(:invisible_node).to_xml)
|
||||
delete :delete, :id => current_nodes(:invisible_node).id
|
||||
assert_response :gone
|
||||
|
||||
|
@ -74,6 +80,7 @@ class NodeControllerTest < Test::Unit::TestCase
|
|||
assert_response :not_found
|
||||
|
||||
# this won't work since the node is in use
|
||||
content(nodes(:used_node_1).to_xml)
|
||||
delete :delete, :id => current_nodes(:used_node_1).id
|
||||
assert_response :precondition_failed
|
||||
end
|
||||
|
@ -84,6 +91,6 @@ class NodeControllerTest < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def content(c)
|
||||
@request.env["RAW_POST_DATA"] = c
|
||||
@request.env["RAW_POST_DATA"] = c.to_s
|
||||
end
|
||||
end
|
||||
|
|
|
@ -27,12 +27,15 @@ class Test::Unit::TestCase
|
|||
|
||||
# Load standard fixtures needed to test API methods
|
||||
def self.api_fixtures
|
||||
fixtures :users
|
||||
fixtures :users, :changesets
|
||||
|
||||
fixtures :current_nodes, :nodes, :current_node_tags
|
||||
fixtures :current_nodes, :nodes
|
||||
set_fixture_class :current_nodes => :Node
|
||||
set_fixture_class :nodes => :OldNode
|
||||
|
||||
fixtures :current_node_tags,:node_tags
|
||||
set_fixture_class :current_node_tags => :NodeTag
|
||||
set_fixture_class :node_tags => :OldNodeTag
|
||||
|
||||
fixtures :current_ways, :current_way_nodes, :current_way_tags
|
||||
set_fixture_class :current_ways => :Way
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue