1 require File.dirname(__FILE__) + '/../test_helper'
4 class NodeTest < Test::Unit::TestCase
5 fixtures :current_nodes, :nodes, :users, :current_node_tags, :node_tags
6 set_fixture_class :current_nodes => :Node
7 set_fixture_class :nodes => :OldNode
8 set_fixture_class :node_tags => :OldNodeTag
9 set_fixture_class :currenr_node_tags => :NodeTag
11 def test_node_too_far_north
12 node = current_nodes(:node_too_far_north)
14 assert node.error.invalid?(:latitude)
17 def test_node_too_far_south
18 node = current_nodes(:node_too_far_south)
22 def test_node_too_far_west
23 node = current_nodes(:node_too_far_west)
27 def test_node_too_far_east
28 node = current_nodes(:node_too_far_east)
32 def test_totally_wrong
33 node = current_nodes(:node_totally_wrong)
38 node_template = Node.new(:latitude => 12.3456,
39 :longitude => 65.4321,
40 :user_id => users(:normal_user),
43 assert node_template.save_with_history!
45 node = Node.find(node_template.id)
47 assert_equal node_template.latitude, node.latitude
48 assert_equal node_template.longitude, node.longitude
49 assert_equal node_template.user_id, node.user_id
50 assert_equal node_template.visible, node.visible
51 assert_equal node_template.timestamp.to_i, node.timestamp.to_i
53 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
54 old_node = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
55 assert_not_nil old_node
56 assert_equal node_template.latitude, old_node.latitude
57 assert_equal node_template.longitude, old_node.longitude
58 assert_equal node_template.user_id, old_node.user_id
59 assert_equal node_template.visible, old_node.visible
60 assert_equal node_template.tags, old_node.tags
61 assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
65 node_template = Node.find(current_nodes(:visible_node).id)
66 assert_not_nil node_template
68 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
69 old_node_template = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
70 assert_not_nil old_node_template
72 node_template.latitude = 12.3456
73 node_template.longitude = 65.4321
74 #node_template.tags = "updated=yes"
75 assert node_template.save_with_history!
77 node = Node.find(node_template.id)
79 assert_equal node_template.latitude, node.latitude
80 assert_equal node_template.longitude, node.longitude
81 assert_equal node_template.user_id, node.user_id
82 assert_equal node_template.visible, node.visible
83 #assert_equal node_template.tags, node.tags
84 assert_equal node_template.timestamp.to_i, node.timestamp.to_i
86 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 2
87 assert_equal OldNode.find(:all, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ]).length, 1
88 old_node = OldNode.find(:first, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ])
89 assert_not_nil old_node
90 assert_equal node_template.latitude, old_node.latitude
91 assert_equal node_template.longitude, old_node.longitude
92 assert_equal node_template.user_id, old_node.user_id
93 assert_equal node_template.visible, old_node.visible
94 #assert_equal node_template.tags, old_node.tags
95 assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
99 node_template = Node.find(current_nodes(:visible_node))
100 assert_not_nil node_template
102 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
103 old_node_template = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
104 assert_not_nil old_node_template
106 node_template.visible = 0
107 assert node_template.save_with_history!
109 node = Node.find(node_template.id)
111 assert_equal node_template.latitude, node.latitude
112 assert_equal node_template.longitude, node.longitude
113 assert_equal node_template.user_id, node.user_id
114 assert_equal node_template.visible, node.visible
115 #assert_equal node_template.tags, node.tags
116 assert_equal node_template.timestamp.to_i, node.timestamp.to_i
118 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 2
119 assert_equal OldNode.find(:all, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ]).length, 1
120 old_node = OldNode.find(:first, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ])
121 assert_not_nil old_node
122 assert_equal node_template.latitude, old_node.latitude
123 assert_equal node_template.longitude, old_node.longitude
124 assert_equal node_template.user_id, old_node.user_id
125 assert_equal node_template.visible, old_node.visible
126 #assert_equal node_template.tags, old_node.tags
127 assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i