aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/associations/eager_test.rb
diff options
context:
space:
mode:
authorFrederick Cheung <frederick.cheung@gmail.com>2008-12-26 22:53:07 +0000
committerYehuda Katz <wycats@gmail.com>2009-01-01 00:13:10 -0800
commit3825f173d9f2ff3ecf1563e188a9ad638da9f82d (patch)
tree650cba13f2e82fed9208f84ef6006a1d9d5a962c /activerecord/test/cases/associations/eager_test.rb
parent15702104a502d0d15bea454297260a495b15b62b (diff)
downloadrails-3825f173d9f2ff3ecf1563e188a9ad638da9f82d.tar.gz
rails-3825f173d9f2ff3ecf1563e188a9ad638da9f82d.tar.bz2
rails-3825f173d9f2ff3ecf1563e188a9ad638da9f82d.zip
Fix :include of has_many associations with :primary_key option
Diffstat (limited to 'activerecord/test/cases/associations/eager_test.rb')
-rw-r--r--activerecord/test/cases/associations/eager_test.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/eager_test.rb b/activerecord/test/cases/associations/eager_test.rb
index afbd9fddf9..ff3d6ece05 100644
--- a/activerecord/test/cases/associations/eager_test.rb
+++ b/activerecord/test/cases/associations/eager_test.rb
@@ -786,4 +786,21 @@ class EagerAssociationTest < ActiveRecord::TestCase
assert_equal Person.find(person.id).agents, person.agents
end
end
+
+ def test_preload_has_many_using_primary_key
+ expected = Firm.find(:first).clients_using_primary_key.to_a
+ firm = Firm.find :first, :include => :clients_using_primary_key
+ assert_no_queries do
+ assert_equal expected, firm.clients_using_primary_key
+ end
+ end
+
+ def test_include_has_many_using_primary_key
+ expected = Firm.find(1).clients_using_primary_key.sort_by &:name
+ firm = Firm.find 1, :include => :clients_using_primary_key, :order => 'clients_using_primary_keys_companies.name'
+ assert_no_queries do
+ assert_equal expected, firm.clients_using_primary_key
+ end
+ end
+
end