Rewrite changeset download show test
This commit is contained in:
parent
49fac49f9d
commit
dc60d78cda
1 changed files with 181 additions and 13 deletions
|
@ -12,25 +12,193 @@ module Api
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_show
|
def test_show_empty
|
||||||
changeset = create(:changeset)
|
changeset = create(:changeset)
|
||||||
node = create(:node, :with_history, :version => 1, :changeset => changeset)
|
|
||||||
tag = create(:old_node_tag, :old_node => node.old_nodes.find_by(:version => 1))
|
|
||||||
node2 = create(:node, :with_history, :version => 1, :changeset => changeset)
|
|
||||||
_node3 = create(:node, :with_history, :deleted, :version => 1, :changeset => changeset)
|
|
||||||
_relation = create(:relation, :with_history, :version => 1, :changeset => changeset)
|
|
||||||
_relation2 = create(:relation, :with_history, :deleted, :version => 1, :changeset => changeset)
|
|
||||||
|
|
||||||
get api_changeset_download_path(changeset)
|
get api_changeset_download_path(changeset)
|
||||||
|
|
||||||
assert_response :success
|
assert_response :success
|
||||||
# FIXME: needs more assert_select tests
|
assert_dom "osmChange[version='#{Settings.api_version}'][generator='#{Settings.generator}']" do
|
||||||
assert_select "osmChange[version='#{Settings.api_version}'][generator='#{Settings.generator}']" do
|
assert_dom "create", 0
|
||||||
assert_select "create", :count => 5
|
assert_dom "modify", 0
|
||||||
assert_select "create>node[id='#{node.id}'][visible='#{node.visible?}'][version='#{node.version}']" do
|
assert_dom "delete", 0
|
||||||
assert_select "tag[k='#{tag.k}'][v='#{tag.v}']"
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_show_created_elements
|
||||||
|
changeset = create(:changeset)
|
||||||
|
old_node1 = create(:old_node, :changeset => changeset, :version => 1, :latitude => (60.12345 * OldNode::SCALE).to_i, :longitude => (30.54321 * OldNode::SCALE).to_i)
|
||||||
|
create(:old_node_tag, :old_node => old_node1, :k => "highway", :v => "crossing")
|
||||||
|
create(:old_node_tag, :old_node => old_node1, :k => "crossing", :v => "marked")
|
||||||
|
old_node2 = create(:old_node, :changeset => changeset, :version => 1, :latitude => (60.23456 * OldNode::SCALE).to_i, :longitude => (30.65432 * OldNode::SCALE).to_i)
|
||||||
|
create(:old_node_tag, :old_node => old_node2, :k => "highway", :v => "traffic_signals")
|
||||||
|
old_way = create(:old_way, :changeset => changeset, :version => 1)
|
||||||
|
create(:old_way_tag, :old_way => old_way, :k => "highway", :v => "secondary")
|
||||||
|
create(:old_way_tag, :old_way => old_way, :k => "name", :v => "Some Street")
|
||||||
|
create(:old_way_node, :old_way => old_way, :node => old_node1.current_node, :sequence_id => 1)
|
||||||
|
create(:old_way_node, :old_way => old_way, :node => old_node2.current_node, :sequence_id => 2)
|
||||||
|
old_relation = create(:old_relation, :changeset => changeset, :version => 1)
|
||||||
|
create(:old_relation_tag, :old_relation => old_relation, :k => "type", :v => "restriction")
|
||||||
|
create(:old_relation_member, :old_relation => old_relation, :member => old_way.current_way, :member_role => "from", :sequence_id => 1)
|
||||||
|
create(:old_relation_member, :old_relation => old_relation, :member => old_node2.current_node, :member_role => "via", :sequence_id => 2)
|
||||||
|
|
||||||
|
get api_changeset_download_path(changeset)
|
||||||
|
|
||||||
|
assert_response :success
|
||||||
|
assert_dom "osmChange[version='#{Settings.api_version}'][generator='#{Settings.generator}']" do
|
||||||
|
assert_dom "create", 4 do
|
||||||
|
assert_dom "node", 2
|
||||||
|
assert_dom "node[id='#{old_node1.node_id}']", 1 do
|
||||||
|
assert_dom "> @version", "1"
|
||||||
|
assert_dom "> @visible", "true"
|
||||||
|
assert_dom "tag", 2
|
||||||
|
assert_dom "tag[k='highway'][v='crossing']"
|
||||||
|
assert_dom "tag[k='crossing'][v='marked']"
|
||||||
|
assert_dom "> @lat", "60.1234500"
|
||||||
|
assert_dom "> @lon", "30.5432100"
|
||||||
|
end
|
||||||
|
assert_dom "node[id='#{old_node2.node_id}']", 1 do
|
||||||
|
assert_dom "> @version", "1"
|
||||||
|
assert_dom "> @visible", "true"
|
||||||
|
assert_dom "tag", 1
|
||||||
|
assert_dom "tag[k='highway'][v='traffic_signals']"
|
||||||
|
assert_dom "> @lat", "60.2345600"
|
||||||
|
assert_dom "> @lon", "30.6543200"
|
||||||
|
end
|
||||||
|
assert_dom "way", 1
|
||||||
|
assert_dom "way[id='#{old_way.way_id}']", 1 do
|
||||||
|
assert_dom "> @version", "1"
|
||||||
|
assert_dom "> @visible", "true"
|
||||||
|
assert_dom "tag", 2
|
||||||
|
assert_dom "tag[k='highway'][v='secondary']"
|
||||||
|
assert_dom "tag[k='name'][v='Some Street']"
|
||||||
|
assert_dom "nd", 2 do |dom_nds|
|
||||||
|
assert_dom dom_nds[0], "> @ref", old_node1.node_id.to_s
|
||||||
|
assert_dom dom_nds[1], "> @ref", old_node2.node_id.to_s
|
||||||
|
end
|
||||||
|
end
|
||||||
|
assert_dom "relation", 1
|
||||||
|
assert_dom "relation[id='#{old_relation.relation_id}']", 1 do
|
||||||
|
assert_dom "> @version", "1"
|
||||||
|
assert_dom "> @visible", "true"
|
||||||
|
assert_dom "tag", 1
|
||||||
|
assert_dom "tag[k='type'][v='restriction']"
|
||||||
|
assert_dom "member", 2 do |dom_members|
|
||||||
|
assert_dom dom_members[0], "> @type", "way"
|
||||||
|
assert_dom dom_members[0], "> @ref", old_way.way_id.to_s
|
||||||
|
assert_dom dom_members[0], "> @role", "from"
|
||||||
|
assert_dom dom_members[1], "> @type", "node"
|
||||||
|
assert_dom dom_members[1], "> @ref", old_node2.node_id.to_s
|
||||||
|
assert_dom dom_members[1], "> @role", "via"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_show_edited_elements
|
||||||
|
changeset = create(:changeset)
|
||||||
|
old_node1 = create(:old_node, :changeset => changeset, :version => 2, :latitude => (60.12345 * OldNode::SCALE).to_i, :longitude => (30.54321 * OldNode::SCALE).to_i)
|
||||||
|
create(:old_node_tag, :old_node => old_node1, :k => "highway", :v => "crossing")
|
||||||
|
create(:old_node_tag, :old_node => old_node1, :k => "crossing", :v => "marked")
|
||||||
|
old_node2 = create(:old_node, :changeset => changeset, :version => 2, :latitude => (60.23456 * OldNode::SCALE).to_i, :longitude => (30.65432 * OldNode::SCALE).to_i)
|
||||||
|
create(:old_node_tag, :old_node => old_node2, :k => "highway", :v => "traffic_signals")
|
||||||
|
old_way = create(:old_way, :changeset => changeset, :version => 2)
|
||||||
|
create(:old_way_tag, :old_way => old_way, :k => "highway", :v => "secondary")
|
||||||
|
create(:old_way_tag, :old_way => old_way, :k => "name", :v => "Some Street")
|
||||||
|
create(:old_way_node, :old_way => old_way, :node => old_node1.current_node, :sequence_id => 1)
|
||||||
|
create(:old_way_node, :old_way => old_way, :node => old_node2.current_node, :sequence_id => 2)
|
||||||
|
old_relation = create(:old_relation, :changeset => changeset, :version => 2)
|
||||||
|
create(:old_relation_tag, :old_relation => old_relation, :k => "type", :v => "restriction")
|
||||||
|
create(:old_relation_member, :old_relation => old_relation, :member => old_way.current_way, :member_role => "from", :sequence_id => 1)
|
||||||
|
create(:old_relation_member, :old_relation => old_relation, :member => old_node2.current_node, :member_role => "via", :sequence_id => 2)
|
||||||
|
|
||||||
|
get api_changeset_download_path(changeset)
|
||||||
|
|
||||||
|
assert_response :success
|
||||||
|
assert_dom "osmChange[version='#{Settings.api_version}'][generator='#{Settings.generator}']" do
|
||||||
|
assert_dom "modify", 4 do
|
||||||
|
assert_dom "node", 2
|
||||||
|
assert_dom "node[id='#{old_node1.node_id}']", 1 do
|
||||||
|
assert_dom "> @version", "2"
|
||||||
|
assert_dom "> @visible", "true"
|
||||||
|
assert_dom "tag", 2
|
||||||
|
assert_dom "tag[k='highway'][v='crossing']"
|
||||||
|
assert_dom "tag[k='crossing'][v='marked']"
|
||||||
|
assert_dom "> @lat", "60.1234500"
|
||||||
|
assert_dom "> @lon", "30.5432100"
|
||||||
|
end
|
||||||
|
assert_dom "node[id='#{old_node2.node_id}']", 1 do
|
||||||
|
assert_dom "> @version", "2"
|
||||||
|
assert_dom "> @visible", "true"
|
||||||
|
assert_dom "tag", 1
|
||||||
|
assert_dom "tag[k='highway'][v='traffic_signals']"
|
||||||
|
assert_dom "> @lat", "60.2345600"
|
||||||
|
assert_dom "> @lon", "30.6543200"
|
||||||
|
end
|
||||||
|
assert_dom "way", 1
|
||||||
|
assert_dom "way[id='#{old_way.way_id}']", 1 do
|
||||||
|
assert_dom "> @version", "2"
|
||||||
|
assert_dom "> @visible", "true"
|
||||||
|
assert_dom "tag", 2
|
||||||
|
assert_dom "tag[k='highway'][v='secondary']"
|
||||||
|
assert_dom "tag[k='name'][v='Some Street']"
|
||||||
|
assert_dom "nd", 2 do |dom_nds|
|
||||||
|
assert_dom dom_nds[0], "> @ref", old_node1.node_id.to_s
|
||||||
|
assert_dom dom_nds[1], "> @ref", old_node2.node_id.to_s
|
||||||
|
end
|
||||||
|
end
|
||||||
|
assert_dom "relation", 1
|
||||||
|
assert_dom "relation[id='#{old_relation.relation_id}']", 1 do
|
||||||
|
assert_dom "> @version", "2"
|
||||||
|
assert_dom "> @visible", "true"
|
||||||
|
assert_dom "tag", 1
|
||||||
|
assert_dom "tag[k='type'][v='restriction']"
|
||||||
|
assert_dom "member", 2 do |dom_members|
|
||||||
|
assert_dom dom_members[0], "> @type", "way"
|
||||||
|
assert_dom dom_members[0], "> @ref", old_way.way_id.to_s
|
||||||
|
assert_dom dom_members[0], "> @role", "from"
|
||||||
|
assert_dom dom_members[1], "> @type", "node"
|
||||||
|
assert_dom dom_members[1], "> @ref", old_node2.node_id.to_s
|
||||||
|
assert_dom dom_members[1], "> @role", "via"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_show_deleted_elements
|
||||||
|
changeset = create(:changeset)
|
||||||
|
old_node1 = create(:old_node, :changeset => changeset, :version => 3, :visible => false)
|
||||||
|
old_node2 = create(:old_node, :changeset => changeset, :version => 3, :visible => false)
|
||||||
|
old_way = create(:old_way, :changeset => changeset, :version => 3, :visible => false)
|
||||||
|
old_relation = create(:old_relation, :changeset => changeset, :version => 3, :visible => false)
|
||||||
|
|
||||||
|
get api_changeset_download_path(changeset)
|
||||||
|
|
||||||
|
assert_response :success
|
||||||
|
assert_dom "osmChange[version='#{Settings.api_version}'][generator='#{Settings.generator}']" do
|
||||||
|
assert_dom "delete", 4 do
|
||||||
|
assert_dom "node", 2
|
||||||
|
assert_dom "node[id='#{old_node1.node_id}']", 1 do
|
||||||
|
assert_dom "> @version", "3"
|
||||||
|
assert_dom "> @visible", "false"
|
||||||
|
end
|
||||||
|
assert_dom "node[id='#{old_node2.node_id}']", 1 do
|
||||||
|
assert_dom "> @version", "3"
|
||||||
|
assert_dom "> @visible", "false"
|
||||||
|
end
|
||||||
|
assert_dom "way", 1
|
||||||
|
assert_dom "way[id='#{old_way.way_id}']", 1 do
|
||||||
|
assert_dom "> @version", "3"
|
||||||
|
assert_dom "> @visible", "false"
|
||||||
|
end
|
||||||
|
assert_dom "relation", 1
|
||||||
|
assert_dom "relation[id='#{old_relation.relation_id}']", 1 do
|
||||||
|
assert_dom "> @version", "3"
|
||||||
|
assert_dom "> @visible", "false"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
assert_select "create>node[id='#{node2.id}']"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue