diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2009-12-27 16:14:04 +0530 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2009-12-27 16:15:29 +0530 |
commit | d92c4a84023bc0c8dd75869c9b4d5e50277f4650 (patch) | |
tree | 8d2bee87318b36b2ea5ac7492dd38a663715e398 /activerecord/test/cases | |
parent | 81608cf8fa61973d65f24efbc4ae4931016888e7 (diff) | |
download | rails-d92c4a84023bc0c8dd75869c9b4d5e50277f4650.tar.gz rails-d92c4a84023bc0c8dd75869c9b4d5e50277f4650.tar.bz2 rails-d92c4a84023bc0c8dd75869c9b4d5e50277f4650.zip |
Add find(ids) to relations
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/relations_test.rb | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb index 893ac9caf8..9c5a38a399 100644 --- a/activerecord/test/cases/relations_test.rb +++ b/activerecord/test/cases/relations_test.rb @@ -275,5 +275,27 @@ class RelationTest < ActiveRecord::TestCase assert_equal authors(:david), authors.find_or_create_by_name(:name => 'David') end -end + def test_find_id + authors = Author.scoped + + david = authors.find(authors(:david).id) + assert_equal 'David', david.name + + assert_raises(ActiveRecord::RecordNotFound) { authors.where(:name => 'lifo').find('invalid') } + end + def test_find_ids + authors = Author.order('id ASC') + + results = authors.find(authors(:david).id, authors(:mary).id) + assert_kind_of Array, results + assert_equal 2, results.size + assert_equal 'David', results[0].name + assert_equal 'Mary', results[1].name + assert_equal results, authors.find([authors(:david).id, authors(:mary).id]) + + assert_raises(ActiveRecord::RecordNotFound) { authors.where(:name => 'lifo').find(authors(:david).id, 'invalid') } + assert_raises(ActiveRecord::RecordNotFound) { authors.find(['invalid', 'oops']) } + end + +end |