aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/associations_test.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-01-01 19:50:23 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-01-01 19:50:23 +0000
commit6bd672eb0d50fcf3437d7fa244245397747bf7a7 (patch)
tree77a139b962f3b9d0acd838c4cbee554944ebf9a5 /activerecord/test/associations_test.rb
parent86df396491bb4769884e3fc8b2d214bed04b8134 (diff)
downloadrails-6bd672eb0d50fcf3437d7fa244245397747bf7a7.tar.gz
rails-6bd672eb0d50fcf3437d7fa244245397747bf7a7.tar.bz2
rails-6bd672eb0d50fcf3437d7fa244245397747bf7a7.zip
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
Diffstat (limited to 'activerecord/test/associations_test.rb')
-rwxr-xr-xactiverecord/test/associations_test.rb37
1 files changed, 34 insertions, 3 deletions
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