From 30a652ad41428b922b1ed637f491776f1f1dff13 Mon Sep 17 00:00:00 2001 From: Rick Olson Date: Sun, 30 Sep 2007 06:47:20 +0000 Subject: Make size for has_many :through use counter cache if it exists. Closes #9734 [xaviershay] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7692 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/associations/join_model_test.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'activerecord/test') diff --git a/activerecord/test/associations/join_model_test.rb b/activerecord/test/associations/join_model_test.rb index d18c878733..d92a0c760a 100644 --- a/activerecord/test/associations/join_model_test.rb +++ b/activerecord/test/associations/join_model_test.rb @@ -457,6 +457,15 @@ class AssociationsJoinModelTest < Test::Unit::TestCase assert !author.comments.loaded? end + uses_mocha('has_many_through_collection_size_uses_counter_cache_if_it_exists') do + def test_has_many_through_collection_size_uses_counter_cache_if_it_exists + author = authors(:david) + author.stubs(:read_attribute).with('comments_count').returns(100) + assert_equal 100, author.comments.size + assert !author.comments.loaded? + end + end + def test_adding_junk_to_has_many_through_should_raise_type_mismatch assert_raise(ActiveRecord::AssociationTypeMismatch) { posts(:thinking).tags << "Uhh what now?" } end -- cgit v1.2.3