diff options
author | Marcel Molina <marcel@vernix.org> | 2007-10-26 03:42:28 +0000 |
---|---|---|
committer | Marcel Molina <marcel@vernix.org> | 2007-10-26 03:42:28 +0000 |
commit | bf658a906bf32127429f3ba808cef65c49b59607 (patch) | |
tree | 3423b2b9689a903561b20168c2fc59f7a4504c56 /activerecord/test/associations_test.rb | |
parent | 7f8183e3c4449d2442a95ed75504d1fba4b4cf8d (diff) | |
download | rails-bf658a906bf32127429f3ba808cef65c49b59607.tar.gz rails-bf658a906bf32127429f3ba808cef65c49b59607.tar.bz2 rails-bf658a906bf32127429f3ba808cef65c49b59607.zip |
Allow find on a has_many association defined with :finder_sql to accept id arguments as strings like regular find does. Closes #9916 [krishna]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8030 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test/associations_test.rb')
-rwxr-xr-x | activerecord/test/associations_test.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/associations_test.rb b/activerecord/test/associations_test.rb index 03431049ae..9f155dd4ab 100755 --- a/activerecord/test/associations_test.rb +++ b/activerecord/test/associations_test.rb @@ -535,6 +535,22 @@ class HasManyAssociationsTest < Test::Unit::TestCase assert_raises(ActiveRecord::RecordNotFound) { firm.clients.find(2, 99) } end + def test_find_string_ids_when_using_finder_sql + firm = Firm.find(:first) + + client = firm.clients_using_finder_sql.find("2") + assert_kind_of Client, client + + client_ary = firm.clients_using_finder_sql.find(["2"]) + assert_kind_of Array, client_ary + assert_equal client, client_ary.first + + client_ary = firm.clients_using_finder_sql.find("2", "3") + assert_kind_of Array, client_ary + assert_equal 2, client_ary.size + assert_equal client, client_ary.first + end + def test_find_all firm = Firm.find(:first) assert_equal 2, firm.clients.find(:all, :conditions => "#{QUOTED_TYPE} = 'Client'").length |