Sha256: c6ef8bdc9e69c40c7df90d93067f7d13f3a1d3b2c8df19ff0197fd2159ebe8ac
Contents?: true
Size: 1.68 KB
Versions: 3
Compression:
Stored size: 1.68 KB
Contents
require 'abstract_unit' require 'fixtures/reference_type' require 'fixtures/reference_code' # Testing the find action on composite ActiveRecords with two primary keys class TestFind < Test::Unit::TestCase CLASSES = { :single => { :class => ReferenceType, :primary_keys => [:reference_type_id], }, :dual => { :class => ReferenceCode, :primary_keys => [:reference_type_id, :reference_code], }, :dual_strs => { :class => ReferenceCode, :primary_keys => ['reference_type_id', 'reference_code'], }, } def setup create_fixtures :reference_types, :reference_codes self.class.classes = CLASSES end def test_find_first testing_with do obj = @klass.find(:first) assert obj assert_equal @klass, obj.class end end def test_find testing_with do found = @klass.find(*first_id) # e.g. find(1,1) or find 1,1 assert found assert_equal @klass, found.class assert_equal found, @klass.find(found.id) assert_equal found, @klass.find(found.to_param) end end def test_find_composite_ids testing_with do found = @klass.find(first_id) # e.g. find([1,1].to_composite_ids) assert found assert_equal @klass, found.class assert_equal found, @klass.find(found.id) assert_equal found, @klass.find(found.to_param) end end def test_to_param testing_with do assert_equal first_id_str, @first.to_param.to_s end end def things_to_look_at testing_with do assert_equal found, @klass.find(found.id.to_s) # fails for 2+ keys end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
composite_primary_keys-0.8.0 | test/test_find.rb |
composite_primary_keys-0.8.2 | test/test_find.rb |
composite_primary_keys-0.8.3 | test/test_find.rb |