3 class OldRelationTest < ActiveSupport::TestCase
7 old_relation_v1 = create(:old_relation, :version => 1)
8 old_relation_v2 = create(:old_relation, :current_relation => old_relation_v1.current_relation, :version => 2)
9 old_relation_v3 = create(:old_relation, :current_relation => old_relation_v1.current_relation, :version => 3)
10 old_relation_v4 = create(:old_relation, :current_relation => old_relation_v1.current_relation, :version => 4)
11 taglist_v3 = create_list(:old_relation_tag, 3, :old_relation => old_relation_v3)
12 taglist_v4 = create_list(:old_relation_tag, 2, :old_relation => old_relation_v4)
14 tags = OldRelation.find(old_relation_v1.id).old_tags.order(:k)
15 assert_equal 0, tags.count
17 tags = OldRelation.find(old_relation_v2.id).old_tags.order(:k)
18 assert_equal 0, tags.count
20 tags = OldRelation.find(old_relation_v3.id).old_tags.order(:k)
21 assert_equal taglist_v3.count, tags.count
22 taglist_v3.sort_by!(&:k).each_index do |i|
23 assert_equal taglist_v3[i].k, tags[i].k
24 assert_equal taglist_v3[i].v, tags[i].v
27 tags = OldRelation.find(old_relation_v4.id).old_tags.order(:k)
28 assert_equal taglist_v4.count, tags.count
29 taglist_v4.sort_by!(&:k).each_index do |i|
30 assert_equal taglist_v4[i].k, tags[i].k
31 assert_equal taglist_v4[i].v, tags[i].v
35 def test_relation_members
36 relation = relations(:relation_with_versions_v1)
37 members = OldRelation.find(relation.id).relation_members
38 assert_equal 1, members.count
39 assert_equal "some node", members[0].member_role
40 assert_equal "Node", members[0].member_type
41 assert_equal 15, members[0].member_id
43 relation = relations(:relation_with_versions_v2)
44 members = OldRelation.find(relation.id).relation_members
45 assert_equal 1, members.count
46 assert_equal "some changed node", members[0].member_role
47 assert_equal "Node", members[0].member_type
48 assert_equal 15, members[0].member_id
50 relation = relations(:relation_with_versions_v3)
51 members = OldRelation.find(relation.id).relation_members
52 assert_equal 2, members.count
53 assert_equal "some changed node", members[0].member_role
54 assert_equal "Node", members[0].member_type
55 assert_equal 15, members[0].member_id
56 assert_equal "some relation", members[1].member_role
57 assert_equal "Relation", members[1].member_type
58 assert_equal 7, members[1].member_id
60 relation = relations(:relation_with_versions_v4)
61 members = OldRelation.find(relation.id).relation_members
62 assert_equal 3, members.count
63 assert_equal "some node", members[0].member_role
64 assert_equal "Node", members[0].member_type
65 assert_equal 15, members[0].member_id
66 assert_equal "some way", members[1].member_role
67 assert_equal "Way", members[1].member_type
68 assert_equal 4, members[1].member_id
69 assert_equal "some relation", members[2].member_role
70 assert_equal "Relation", members[2].member_type
71 assert_equal 7, members[2].member_id
75 relation = relations(:relation_with_versions_v1)
76 members = OldRelation.find(relation.id).members
77 assert_equal 1, members.count
78 assert_equal ["Node", 15, "some node"], members[0]
80 relation = relations(:relation_with_versions_v2)
81 members = OldRelation.find(relation.id).members
82 assert_equal 1, members.count
83 assert_equal ["Node", 15, "some changed node"], members[0]
85 relation = relations(:relation_with_versions_v3)
86 members = OldRelation.find(relation.id).members
87 assert_equal 2, members.count
88 assert_equal ["Node", 15, "some changed node"], members[0]
89 assert_equal ["Relation", 7, "some relation"], members[1]
91 relation = relations(:relation_with_versions_v4)
92 members = OldRelation.find(relation.id).members
93 assert_equal 3, members.count
94 assert_equal ["Node", 15, "some node"], members[0]
95 assert_equal ["Way", 4, "some way"], members[1]
96 assert_equal ["Relation", 7, "some relation"], members[2]
100 old_relation_v1 = create(:old_relation, :version => 1)
101 old_relation_v2 = create(:old_relation, :current_relation => old_relation_v1.current_relation, :version => 2)
102 old_relation_v3 = create(:old_relation, :current_relation => old_relation_v1.current_relation, :version => 3)
103 old_relation_v4 = create(:old_relation, :current_relation => old_relation_v1.current_relation, :version => 4)
104 taglist_v3 = create_list(:old_relation_tag, 3, :old_relation => old_relation_v3)
105 taglist_v4 = create_list(:old_relation_tag, 2, :old_relation => old_relation_v4)
107 tags = OldRelation.find(old_relation_v1.id).tags
108 assert_equal 0, tags.size
110 tags = OldRelation.find(old_relation_v2.id).tags
111 assert_equal 0, tags.size
113 tags = OldRelation.find(old_relation_v3.id).tags
114 assert_equal taglist_v3.count, tags.count
115 taglist_v3.each do |tag|
116 assert_equal tag.v, tags[tag.k]
119 tags = OldRelation.find(old_relation_v4.id).tags
120 assert_equal taglist_v4.count, tags.count
121 taglist_v4.each do |tag|
122 assert_equal tag.v, tags[tag.k]