Refactor some relation_controller tests to use factories.
This commit is contained in:
parent
c7d612df2d
commit
63a2f1f1b4
1 changed files with 38 additions and 44 deletions
|
@ -193,13 +193,17 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
|
|
||||||
def test_create
|
def test_create
|
||||||
basic_authorization users(:normal_user).email, "test"
|
private_user = create(:user, :data_public => false)
|
||||||
|
private_changeset = create(:changeset, :user => private_user)
|
||||||
|
user = create(:user)
|
||||||
|
changeset = create(:changeset, :user => user)
|
||||||
|
node = create(:node)
|
||||||
|
way = create(:way_with_nodes, :nodes_count => 2)
|
||||||
|
|
||||||
# put the relation in a dummy fixture changset
|
basic_authorization private_user.email, "test"
|
||||||
changeset_id = changesets(:normal_user_first_change).id
|
|
||||||
|
|
||||||
# create an relation without members
|
# create an relation without members
|
||||||
content "<osm><relation changeset='#{changeset_id}'><tag k='test' v='yes' /></relation></osm>"
|
content "<osm><relation changeset='#{private_changeset.id}'><tag k='test' v='yes' /></relation></osm>"
|
||||||
put :create
|
put :create
|
||||||
# hope for forbidden, due to user
|
# hope for forbidden, due to user
|
||||||
assert_response :forbidden,
|
assert_response :forbidden,
|
||||||
|
@ -208,9 +212,8 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
###
|
###
|
||||||
# create an relation with a node as member
|
# create an relation with a node as member
|
||||||
# This time try with a role attribute in the relation
|
# This time try with a role attribute in the relation
|
||||||
nid = current_nodes(:used_node_1).id
|
content "<osm><relation changeset='#{private_changeset.id}'>" +
|
||||||
content "<osm><relation changeset='#{changeset_id}'>" +
|
"<member ref='#{node.id}' type='node' role='some'/>" +
|
||||||
"<member ref='#{nid}' type='node' role='some'/>" +
|
|
||||||
"<tag k='test' v='yes' /></relation></osm>"
|
"<tag k='test' v='yes' /></relation></osm>"
|
||||||
put :create
|
put :create
|
||||||
# hope for forbidden due to user
|
# hope for forbidden due to user
|
||||||
|
@ -220,9 +223,8 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
###
|
###
|
||||||
# create an relation with a node as member, this time test that we don't
|
# create an relation with a node as member, this time test that we don't
|
||||||
# need a role attribute to be included
|
# need a role attribute to be included
|
||||||
nid = current_nodes(:used_node_1).id
|
content "<osm><relation changeset='#{private_changeset.id}'>" +
|
||||||
content "<osm><relation changeset='#{changeset_id}'>" +
|
"<member ref='#{node.id}' type='node'/>" + "<tag k='test' v='yes' /></relation></osm>"
|
||||||
"<member ref='#{nid}' type='node'/>" + "<tag k='test' v='yes' /></relation></osm>"
|
|
||||||
put :create
|
put :create
|
||||||
# hope for forbidden due to user
|
# hope for forbidden due to user
|
||||||
assert_response :forbidden,
|
assert_response :forbidden,
|
||||||
|
@ -230,11 +232,9 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
###
|
###
|
||||||
# create an relation with a way and a node as members
|
# create an relation with a way and a node as members
|
||||||
nid = current_nodes(:used_node_1).id
|
content "<osm><relation changeset='#{private_changeset.id}'>" +
|
||||||
wid = current_ways(:used_way).id
|
"<member type='node' ref='#{node.id}' role='some'/>" +
|
||||||
content "<osm><relation changeset='#{changeset_id}'>" +
|
"<member type='way' ref='#{way.id}' role='other'/>" +
|
||||||
"<member type='node' ref='#{nid}' role='some'/>" +
|
|
||||||
"<member type='way' ref='#{wid}' role='other'/>" +
|
|
||||||
"<tag k='test' v='yes' /></relation></osm>"
|
"<tag k='test' v='yes' /></relation></osm>"
|
||||||
put :create
|
put :create
|
||||||
# hope for forbidden, due to user
|
# hope for forbidden, due to user
|
||||||
|
@ -242,13 +242,10 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
"relation upload did not return success status"
|
"relation upload did not return success status"
|
||||||
|
|
||||||
## Now try with the public user
|
## Now try with the public user
|
||||||
basic_authorization users(:public_user).email, "test"
|
basic_authorization user.email, "test"
|
||||||
|
|
||||||
# put the relation in a dummy fixture changset
|
|
||||||
changeset_id = changesets(:public_user_first_change).id
|
|
||||||
|
|
||||||
# create an relation without members
|
# create an relation without members
|
||||||
content "<osm><relation changeset='#{changeset_id}'><tag k='test' v='yes' /></relation></osm>"
|
content "<osm><relation changeset='#{changeset.id}'><tag k='test' v='yes' /></relation></osm>"
|
||||||
put :create
|
put :create
|
||||||
# hope for success
|
# hope for success
|
||||||
assert_response :success,
|
assert_response :success,
|
||||||
|
@ -263,9 +260,9 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
"saved relation contains members but should not"
|
"saved relation contains members but should not"
|
||||||
assert_equal checkrelation.tags.length, 1,
|
assert_equal checkrelation.tags.length, 1,
|
||||||
"saved relation does not contain exactly one tag"
|
"saved relation does not contain exactly one tag"
|
||||||
assert_equal changeset_id, checkrelation.changeset.id,
|
assert_equal changeset.id, checkrelation.changeset.id,
|
||||||
"saved relation does not belong in the changeset it was assigned to"
|
"saved relation does not belong in the changeset it was assigned to"
|
||||||
assert_equal users(:public_user).id, checkrelation.changeset.user_id,
|
assert_equal user.id, checkrelation.changeset.user_id,
|
||||||
"saved relation does not belong to user that created it"
|
"saved relation does not belong to user that created it"
|
||||||
assert_equal true, checkrelation.visible,
|
assert_equal true, checkrelation.visible,
|
||||||
"saved relation is not visible"
|
"saved relation is not visible"
|
||||||
|
@ -276,9 +273,8 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
###
|
###
|
||||||
# create an relation with a node as member
|
# create an relation with a node as member
|
||||||
# This time try with a role attribute in the relation
|
# This time try with a role attribute in the relation
|
||||||
nid = current_nodes(:used_node_1).id
|
content "<osm><relation changeset='#{changeset.id}'>" +
|
||||||
content "<osm><relation changeset='#{changeset_id}'>" +
|
"<member ref='#{node.id}' type='node' role='some'/>" +
|
||||||
"<member ref='#{nid}' type='node' role='some'/>" +
|
|
||||||
"<tag k='test' v='yes' /></relation></osm>"
|
"<tag k='test' v='yes' /></relation></osm>"
|
||||||
put :create
|
put :create
|
||||||
# hope for success
|
# hope for success
|
||||||
|
@ -294,9 +290,9 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
"saved relation does not contain exactly one member"
|
"saved relation does not contain exactly one member"
|
||||||
assert_equal checkrelation.tags.length, 1,
|
assert_equal checkrelation.tags.length, 1,
|
||||||
"saved relation does not contain exactly one tag"
|
"saved relation does not contain exactly one tag"
|
||||||
assert_equal changeset_id, checkrelation.changeset.id,
|
assert_equal changeset.id, checkrelation.changeset.id,
|
||||||
"saved relation does not belong in the changeset it was assigned to"
|
"saved relation does not belong in the changeset it was assigned to"
|
||||||
assert_equal users(:public_user).id, checkrelation.changeset.user_id,
|
assert_equal user.id, checkrelation.changeset.user_id,
|
||||||
"saved relation does not belong to user that created it"
|
"saved relation does not belong to user that created it"
|
||||||
assert_equal true, checkrelation.visible,
|
assert_equal true, checkrelation.visible,
|
||||||
"saved relation is not visible"
|
"saved relation is not visible"
|
||||||
|
@ -308,9 +304,8 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
###
|
###
|
||||||
# create an relation with a node as member, this time test that we don't
|
# create an relation with a node as member, this time test that we don't
|
||||||
# need a role attribute to be included
|
# need a role attribute to be included
|
||||||
nid = current_nodes(:used_node_1).id
|
content "<osm><relation changeset='#{changeset.id}'>" +
|
||||||
content "<osm><relation changeset='#{changeset_id}'>" +
|
"<member ref='#{node.id}' type='node'/>" + "<tag k='test' v='yes' /></relation></osm>"
|
||||||
"<member ref='#{nid}' type='node'/>" + "<tag k='test' v='yes' /></relation></osm>"
|
|
||||||
put :create
|
put :create
|
||||||
# hope for success
|
# hope for success
|
||||||
assert_response :success,
|
assert_response :success,
|
||||||
|
@ -325,9 +320,9 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
"saved relation does not contain exactly one member"
|
"saved relation does not contain exactly one member"
|
||||||
assert_equal checkrelation.tags.length, 1,
|
assert_equal checkrelation.tags.length, 1,
|
||||||
"saved relation does not contain exactly one tag"
|
"saved relation does not contain exactly one tag"
|
||||||
assert_equal changeset_id, checkrelation.changeset.id,
|
assert_equal changeset.id, checkrelation.changeset.id,
|
||||||
"saved relation does not belong in the changeset it was assigned to"
|
"saved relation does not belong in the changeset it was assigned to"
|
||||||
assert_equal users(:public_user).id, checkrelation.changeset.user_id,
|
assert_equal user.id, checkrelation.changeset.user_id,
|
||||||
"saved relation does not belong to user that created it"
|
"saved relation does not belong to user that created it"
|
||||||
assert_equal true, checkrelation.visible,
|
assert_equal true, checkrelation.visible,
|
||||||
"saved relation is not visible"
|
"saved relation is not visible"
|
||||||
|
@ -338,11 +333,9 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
###
|
###
|
||||||
# create an relation with a way and a node as members
|
# create an relation with a way and a node as members
|
||||||
nid = current_nodes(:used_node_1).id
|
content "<osm><relation changeset='#{changeset.id}'>" +
|
||||||
wid = current_ways(:used_way).id
|
"<member type='node' ref='#{node.id}' role='some'/>" +
|
||||||
content "<osm><relation changeset='#{changeset_id}'>" +
|
"<member type='way' ref='#{way.id}' role='other'/>" +
|
||||||
"<member type='node' ref='#{nid}' role='some'/>" +
|
|
||||||
"<member type='way' ref='#{wid}' role='other'/>" +
|
|
||||||
"<tag k='test' v='yes' /></relation></osm>"
|
"<tag k='test' v='yes' /></relation></osm>"
|
||||||
put :create
|
put :create
|
||||||
# hope for success
|
# hope for success
|
||||||
|
@ -358,9 +351,9 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
"saved relation does not have exactly two members"
|
"saved relation does not have exactly two members"
|
||||||
assert_equal checkrelation.tags.length, 1,
|
assert_equal checkrelation.tags.length, 1,
|
||||||
"saved relation does not contain exactly one tag"
|
"saved relation does not contain exactly one tag"
|
||||||
assert_equal changeset_id, checkrelation.changeset.id,
|
assert_equal changeset.id, checkrelation.changeset.id,
|
||||||
"saved relation does not belong in the changeset it was assigned to"
|
"saved relation does not belong in the changeset it was assigned to"
|
||||||
assert_equal users(:public_user).id, checkrelation.changeset.user_id,
|
assert_equal user.id, checkrelation.changeset.user_id,
|
||||||
"saved relation does not belong to user that created it"
|
"saved relation does not belong to user that created it"
|
||||||
assert_equal true, checkrelation.visible,
|
assert_equal true, checkrelation.visible,
|
||||||
"saved relation is not visible"
|
"saved relation is not visible"
|
||||||
|
@ -472,14 +465,15 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
# Test creating a relation, with some invalid XML
|
# Test creating a relation, with some invalid XML
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
def test_create_invalid_xml
|
def test_create_invalid_xml
|
||||||
basic_authorization users(:public_user).email, "test"
|
user = create(:user)
|
||||||
|
changeset = create(:changeset, :user => user)
|
||||||
|
node = create(:node)
|
||||||
|
|
||||||
# put the relation in a dummy fixture changeset that works
|
basic_authorization user.email, "test"
|
||||||
changeset_id = changesets(:public_user_first_change).id
|
|
||||||
|
|
||||||
# create some xml that should return an error
|
# create some xml that should return an error
|
||||||
content "<osm><relation changeset='#{changeset_id}'>" +
|
content "<osm><relation changeset='#{changeset.id}'>" +
|
||||||
"<member type='type' ref='#{current_nodes(:used_node_1).id}' role=''/>" +
|
"<member type='type' ref='#{node.id}' role=''/>" +
|
||||||
"<tag k='tester' v='yep'/></relation></osm>"
|
"<tag k='tester' v='yep'/></relation></osm>"
|
||||||
put :create
|
put :create
|
||||||
# expect failure
|
# expect failure
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue