]> git.openstreetmap.org Git - rails.git/blob - vendor/gems/composite_primary_keys-2.2.2/test/test_update.rb
d612c92a83ccc40fa7fd12a45892a3b50dd0ce23
[rails.git] / vendor / gems / composite_primary_keys-2.2.2 / test / test_update.rb
1 require 'abstract_unit'\r
2 require 'fixtures/reference_type'\r
3 require 'fixtures/reference_code'\r
4 \r
5 class TestUpdate < Test::Unit::TestCase\r
6   fixtures :reference_types, :reference_codes\r
7   \r
8   CLASSES = {\r
9     :single => {\r
10       :class => ReferenceType,\r
11       :primary_keys => :reference_type_id,\r
12       :update => { :description => 'RT Desc' },\r
13     },\r
14     :dual   => { \r
15       :class => ReferenceCode,\r
16       :primary_keys => [:reference_type_id, :reference_code],\r
17       :update => { :description => 'RT Desc' },\r
18     },\r
19   }\r
20   \r
21   def setup\r
22     self.class.classes = CLASSES\r
23   end\r
24   \r
25   def test_setup\r
26     testing_with do\r
27       assert_not_nil @klass_info[:update]\r
28     end\r
29   end\r
30   \r
31   def test_update_attributes\r
32     testing_with do\r
33       assert @first.update_attributes(@klass_info[:update])\r
34       assert @first.reload\r
35       @klass_info[:update].each_pair do |attr_name, new_value|\r
36         assert_equal new_value, @first[attr_name], "Attribute #{attr_name} is incorrect"\r
37       end\r
38     end\r
39   end\r
40 end