From 6bd672eb0d50fcf3437d7fa244245397747bf7a7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 1 Jan 2005 19:50:23 +0000 Subject: Added that Base#find takes an optional options hash, including :conditions. Base#find_on_conditions deprecated in favor of #find with :conditions #407 [bitsweat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@305 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/associations_test.rb | 37 +++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) (limited to 'activerecord/test/associations_test.rb') diff --git a/activerecord/test/associations_test.rb b/activerecord/test/associations_test.rb index feccab09ec..f94f04e279 100755 --- a/activerecord/test/associations_test.rb +++ b/activerecord/test/associations_test.rb @@ -183,9 +183,31 @@ class HasManyAssociationsTest < Test::Unit::TestCase assert_equal 0, Firm.find_first.clients_using_zero_counter_sql.size end + def test_find_ids + firm = Firm.find_first + + assert_raises(ActiveRecord::RecordNotFound) { firm.clients.find } + + client = firm.clients.find(2) + assert_kind_of Client, client + + client_ary = firm.clients.find([2]) + assert_kind_of Array, client_ary + assert_equal client, client_ary.first + + client_ary = firm.clients.find(2, 3) + assert_kind_of Array, client_ary + assert_equal 2, client_ary.size + assert_equal client, client_ary.first + + assert_raises(ActiveRecord::RecordNotFound) { firm.clients.find(2, 99) } + end + def test_find_all - assert_equal 2, Firm.find_first.clients.find_all("type = 'Client'").length - assert_equal 1, Firm.find_first.clients.find_all("name = 'Summit'").length + firm = Firm.find_first + assert_equal firm.clients, firm.clients.find_all + assert_equal 2, firm.clients.find_all("type = 'Client'").length + assert_equal 1, firm.clients.find_all("name = 'Summit'").length end def test_find_all_sanitized @@ -193,9 +215,18 @@ class HasManyAssociationsTest < Test::Unit::TestCase assert_equal firm.clients.find_all("name = 'Summit'"), firm.clients.find_all(["name = '%s'", "Summit"]) end + def test_find_first + firm = Firm.find_first + assert_equal firm.clients.first, firm.clients.find_first + assert_equal Client.find(2), firm.clients.find_first("type = 'Client'") + end + + def test_find_first_sanitized + assert_equal Client.find(2), Firm.find_first.clients.find_first(["type = ?", "Client"]) + end + def test_find_in_collection assert_equal Client.find(2).name, @signals37.clients.find(2).name - assert_equal Client.find(2).name, @signals37.clients.find {|c| c.name == @signals37.clients.find(2).name }.name assert_raises(ActiveRecord::RecordNotFound) { @signals37.clients.find(6) } end -- cgit v1.2.3