You can now test nodes. This test needs looked at again, as it currently doesn't...
[rails.git] / test / unit / node_test.rb
1 require File.dirname(__FILE__) + '/../test_helper'
2
3 class NodeTest < Test::Unit::TestCase
4   fixtures :current_nodes, :nodes, :users, :current_node_tags, :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
9
10   def test_create
11     node_template = Node.new(:latitude => 12.3456,
12                              :longitude => 65.4321,
13                              :user_id => users(:normal_user),
14                              :visible => 1, 
15                              :version => 1)
16     assert node_template.save_with_history!
17
18     node = Node.find(node_template.id)
19     assert_not_nil node
20     assert_equal node_template.latitude, node.latitude
21     assert_equal node_template.longitude, node.longitude
22     assert_equal node_template.user_id, node.user_id
23     assert_equal node_template.visible, node.visible
24     assert_equal node_template.timestamp.to_i, node.timestamp.to_i
25
26     assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
27     old_node = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
28     assert_not_nil old_node
29     assert_equal node_template.latitude, old_node.latitude
30     assert_equal node_template.longitude, old_node.longitude
31     assert_equal node_template.user_id, old_node.user_id
32     assert_equal node_template.visible, old_node.visible
33     assert_equal node_template.tags, old_node.tags
34     assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
35   end
36
37   def test_update
38     node_template = Node.find(current_nodes(:visible_node).id)
39     assert_not_nil node_template
40
41     assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
42     old_node_template = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
43     assert_not_nil old_node_template
44
45     node_template.latitude = 12.3456
46     node_template.longitude = 65.4321
47     #node_template.tags = "updated=yes"
48     assert node_template.save_with_history!
49
50     node = Node.find(node_template.id)
51     assert_not_nil node
52     assert_equal node_template.latitude, node.latitude
53     assert_equal node_template.longitude, node.longitude
54     assert_equal node_template.user_id, node.user_id
55     assert_equal node_template.visible, node.visible
56     #assert_equal node_template.tags, node.tags
57     assert_equal node_template.timestamp.to_i, node.timestamp.to_i
58
59     assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 2
60     assert_equal OldNode.find(:all, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ]).length, 1
61     old_node = OldNode.find(:first, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ])
62     assert_not_nil old_node
63     assert_equal node_template.latitude, old_node.latitude
64     assert_equal node_template.longitude, old_node.longitude
65     assert_equal node_template.user_id, old_node.user_id
66     assert_equal node_template.visible, old_node.visible
67     #assert_equal node_template.tags, old_node.tags
68     assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
69   end
70
71   def test_delete
72     node_template = Node.find(current_nodes(:visible_node))
73     assert_not_nil node_template
74
75     assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
76     old_node_template = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
77     assert_not_nil old_node_template
78
79     node_template.visible = 0
80     assert node_template.save_with_history!
81
82     node = Node.find(node_template.id)
83     assert_not_nil node
84     assert_equal node_template.latitude, node.latitude
85     assert_equal node_template.longitude, node.longitude
86     assert_equal node_template.user_id, node.user_id
87     assert_equal node_template.visible, node.visible
88     #assert_equal node_template.tags, node.tags
89     assert_equal node_template.timestamp.to_i, node.timestamp.to_i
90
91     assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 2
92     assert_equal OldNode.find(:all, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ]).length, 1
93     old_node = OldNode.find(:first, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ])
94     assert_not_nil old_node
95     assert_equal node_template.latitude, old_node.latitude
96     assert_equal node_template.longitude, old_node.longitude
97     assert_equal node_template.user_id, old_node.user_id
98     assert_equal node_template.visible, old_node.visible
99     #assert_equal node_template.tags, old_node.tags
100     assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
101   end
102 end