Convert more relation controller tests to use factories.
This commit is contained in:
parent
990ab8d39f
commit
eb1a69b880
1 changed files with 41 additions and 20 deletions
|
@ -708,15 +708,23 @@ class RelationControllerTest < ActionController::TestCase
|
||||||
##
|
##
|
||||||
# check that relations are ordered
|
# check that relations are ordered
|
||||||
def test_relation_member_ordering
|
def test_relation_member_ordering
|
||||||
basic_authorization(users(:public_user).email, "test")
|
user = create(:user)
|
||||||
|
changeset = create(:changeset, :user => user)
|
||||||
|
node1 = create(:node)
|
||||||
|
node2 = create(:node)
|
||||||
|
node3 = create(:node)
|
||||||
|
way1 = create(:way_with_nodes, :nodes_count => 2)
|
||||||
|
way2 = create(:way_with_nodes, :nodes_count => 2)
|
||||||
|
|
||||||
|
basic_authorization(user.email, "test")
|
||||||
|
|
||||||
doc_str = <<OSM
|
doc_str = <<OSM
|
||||||
<osm>
|
<osm>
|
||||||
<relation changeset='4'>
|
<relation changeset='#{changeset.id}'>
|
||||||
<member ref='1' type='node' role='first'/>
|
<member ref='#{node1.id}' type='node' role='first'/>
|
||||||
<member ref='3' type='node' role='second'/>
|
<member ref='#{node2.id}' type='node' role='second'/>
|
||||||
<member ref='1' type='way' role='third'/>
|
<member ref='#{way1.id}' type='way' role='third'/>
|
||||||
<member ref='3' type='way' role='fourth'/>
|
<member ref='#{way2.id}' type='way' role='fourth'/>
|
||||||
</relation>
|
</relation>
|
||||||
</osm>
|
</osm>
|
||||||
OSM
|
OSM
|
||||||
|
@ -734,7 +742,7 @@ OSM
|
||||||
|
|
||||||
# insert a member at the front
|
# insert a member at the front
|
||||||
new_member = XML::Node.new "member"
|
new_member = XML::Node.new "member"
|
||||||
new_member["ref"] = 5.to_s
|
new_member["ref"] = node3.id.to_s
|
||||||
new_member["type"] = "node"
|
new_member["type"] = "node"
|
||||||
new_member["role"] = "new first"
|
new_member["role"] = "new first"
|
||||||
doc.find("//osm/relation").first.child.prev = new_member
|
doc.find("//osm/relation").first.child.prev = new_member
|
||||||
|
@ -764,27 +772,33 @@ OSM
|
||||||
##
|
##
|
||||||
# check that relations can contain duplicate members
|
# check that relations can contain duplicate members
|
||||||
def test_relation_member_duplicates
|
def test_relation_member_duplicates
|
||||||
|
private_user = create(:user, :data_public => false)
|
||||||
|
user = create(:user)
|
||||||
|
changeset = create(:changeset, :user => user)
|
||||||
|
node1 = create(:node)
|
||||||
|
node2 = create(:node)
|
||||||
|
|
||||||
doc_str = <<OSM
|
doc_str = <<OSM
|
||||||
<osm>
|
<osm>
|
||||||
<relation changeset='4'>
|
<relation changeset='#{changeset.id}'>
|
||||||
<member ref='1' type='node' role='forward'/>
|
<member ref='#{node1.id}' type='node' role='forward'/>
|
||||||
<member ref='3' type='node' role='forward'/>
|
<member ref='#{node2.id}' type='node' role='forward'/>
|
||||||
<member ref='1' type='node' role='forward'/>
|
<member ref='#{node1.id}' type='node' role='forward'/>
|
||||||
<member ref='3' type='node' role='forward'/>
|
<member ref='#{node2.id}' type='node' role='forward'/>
|
||||||
</relation>
|
</relation>
|
||||||
</osm>
|
</osm>
|
||||||
OSM
|
OSM
|
||||||
doc = XML::Parser.string(doc_str).parse
|
doc = XML::Parser.string(doc_str).parse
|
||||||
|
|
||||||
## First try with the private user
|
## First try with the private user
|
||||||
basic_authorization(users(:normal_user).email, "test")
|
basic_authorization(private_user.email, "test")
|
||||||
|
|
||||||
content doc
|
content doc
|
||||||
put :create
|
put :create
|
||||||
assert_response :forbidden
|
assert_response :forbidden
|
||||||
|
|
||||||
## Now try with the public user
|
## Now try with the public user
|
||||||
basic_authorization(users(:public_user).email, "test")
|
basic_authorization(user.email, "test")
|
||||||
|
|
||||||
content doc
|
content doc
|
||||||
put :create
|
put :create
|
||||||
|
@ -800,18 +814,25 @@ OSM
|
||||||
##
|
##
|
||||||
# test that the ordering of elements in the history is the same as in current.
|
# test that the ordering of elements in the history is the same as in current.
|
||||||
def test_history_ordering
|
def test_history_ordering
|
||||||
|
user = create(:user)
|
||||||
|
changeset = create(:changeset, :user => user)
|
||||||
|
node1 = create(:node)
|
||||||
|
node2 = create(:node)
|
||||||
|
node3 = create(:node)
|
||||||
|
node4 = create(:node)
|
||||||
|
|
||||||
doc_str = <<OSM
|
doc_str = <<OSM
|
||||||
<osm>
|
<osm>
|
||||||
<relation changeset='4'>
|
<relation changeset='#{changeset.id}'>
|
||||||
<member ref='1' type='node' role='forward'/>
|
<member ref='#{node1.id}' type='node' role='forward'/>
|
||||||
<member ref='5' type='node' role='forward'/>
|
<member ref='#{node4.id}' type='node' role='forward'/>
|
||||||
<member ref='4' type='node' role='forward'/>
|
<member ref='#{node3.id}' type='node' role='forward'/>
|
||||||
<member ref='3' type='node' role='forward'/>
|
<member ref='#{node2.id}' type='node' role='forward'/>
|
||||||
</relation>
|
</relation>
|
||||||
</osm>
|
</osm>
|
||||||
OSM
|
OSM
|
||||||
doc = XML::Parser.string(doc_str).parse
|
doc = XML::Parser.string(doc_str).parse
|
||||||
basic_authorization(users(:public_user).email, "test")
|
basic_authorization(user.email, "test")
|
||||||
|
|
||||||
content doc
|
content doc
|
||||||
put :create
|
put :create
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue