1 require File.dirname(__FILE__) + '/../test_helper'
3 class NodeTest < Test::Unit::TestCase
4 fixtures :current_nodes, :users, :current_node_tags,:nodes, :node_tags
5 set_fixture_class :current_nodes => :Node
6 set_fixture_class :nodes => :OldNode
7 set_fixture_class :node_tags => :OldNodeTag
8 set_fixture_class :currenr_node_tags => :NodeTag
10 def test_node_too_far_north
11 noden = current_nodes(:node_too_far_north)
12 assert_equal noden.lat, current_nodes(:node_too_far_north).latitude/SCALE
13 assert_equal false, noden.valid?
16 def test_node_too_far_south
17 node = current_nodes(:node_too_far_south)
21 def test_node_too_far_west
22 node = current_nodes(:node_too_far_west)
26 def test_node_too_far_east
27 node = current_nodes(:node_too_far_east)
31 def test_totally_wrong
32 node = current_nodes(:node_totally_wrong)
37 node_template = Node.new(:latitude => 12.3456,
38 :longitude => 65.4321,
39 :user_id => users(:normal_user),
42 assert node_template.save_with_history!
44 node = Node.find(node_template.id)
46 assert_equal node_template.latitude, node.latitude
47 assert_equal node_template.longitude, node.longitude
48 assert_equal node_template.user_id, node.user_id
49 assert_equal node_template.visible, node.visible
50 assert_equal node_template.timestamp.to_i, node.timestamp.to_i
52 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
53 old_node = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
54 assert_not_nil old_node
55 assert_equal node_template.latitude, old_node.latitude
56 assert_equal node_template.longitude, old_node.longitude
57 assert_equal node_template.user_id, old_node.user_id
58 assert_equal node_template.visible, old_node.visible
59 assert_equal node_template.tags, old_node.tags
60 assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
64 node_template = Node.find(current_nodes(:visible_node).id)
65 assert_not_nil node_template
67 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
68 old_node_template = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
69 assert_not_nil old_node_template
71 node_template.latitude = 12.3456
72 node_template.longitude = 65.4321
73 #node_template.tags = "updated=yes"
74 assert node_template.save_with_history!
76 node = Node.find(node_template.id)
78 assert_equal node_template.latitude, node.latitude
79 assert_equal node_template.longitude, node.longitude
80 assert_equal node_template.user_id, node.user_id
81 assert_equal node_template.visible, node.visible
82 #assert_equal node_template.tags, node.tags
83 assert_equal node_template.timestamp.to_i, node.timestamp.to_i
85 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 2
86 assert_equal OldNode.find(:all, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ]).length, 1
87 old_node = OldNode.find(:first, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ])
88 assert_not_nil old_node
89 assert_equal node_template.latitude, old_node.latitude
90 assert_equal node_template.longitude, old_node.longitude
91 assert_equal node_template.user_id, old_node.user_id
92 assert_equal node_template.visible, old_node.visible
93 #assert_equal node_template.tags, old_node.tags
94 assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
98 node_template = Node.find(current_nodes(:visible_node))
99 assert_not_nil node_template
101 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
102 old_node_template = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
103 assert_not_nil old_node_template
105 node_template.visible = 0
106 assert node_template.save_with_history!
108 node = Node.find(node_template.id)
110 assert_equal node_template.latitude, node.latitude
111 assert_equal node_template.longitude, node.longitude
112 assert_equal node_template.user_id, node.user_id
113 assert_equal node_template.visible, node.visible
114 #assert_equal node_template.tags, node.tags
115 assert_equal node_template.timestamp.to_i, node.timestamp.to_i
117 assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 2
118 assert_equal OldNode.find(:all, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ]).length, 1
119 old_node = OldNode.find(:first, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ])
120 assert_not_nil old_node
121 assert_equal node_template.latitude, old_node.latitude
122 assert_equal node_template.longitude, old_node.longitude
123 assert_equal node_template.user_id, old_node.user_id
124 assert_equal node_template.visible, old_node.visible
125 #assert_equal node_template.tags, old_node.tags
126 assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i