From afd4d8205e6a3264c30a29e4a2de0f1e71ef0717 Mon Sep 17 00:00:00 2001 From: Simon Woker Date: Thu, 10 Apr 2014 16:58:39 +0000 Subject: Fix error for aggregate methods with select, see issue #13648 --- activerecord/test/cases/relations_test.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'activerecord/test') diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb index 2aa6d643a5..da932b7663 100644 --- a/activerecord/test/cases/relations_test.rb +++ b/activerecord/test/cases/relations_test.rb @@ -824,6 +824,16 @@ class RelationTest < ActiveRecord::TestCase assert_raises(ActiveRecord::ActiveRecordError) { Author.limit(10).delete_all } end + def test_select_with_aggregates + posts = Post.select(:title, :body) + + assert_equal 11, posts.count(:all) + assert_equal 11, posts.size + assert posts.any? + assert posts.many? + assert ! posts.empty? + end + def test_select_takes_a_variable_list_of_args david = developers(:david) -- cgit v1.2.3 From 70fffaccfc9761498cb50537d8b29c2e5d0585d1 Mon Sep 17 00:00:00 2001 From: Simon Woker Date: Fri, 11 Apr 2014 17:54:03 +0000 Subject: fix exception on polymorphic associations with predicates --- activerecord/test/cases/associations/eager_test.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'activerecord/test') diff --git a/activerecord/test/cases/associations/eager_test.rb b/activerecord/test/cases/associations/eager_test.rb index 8c9797861c..3133f60bcf 100644 --- a/activerecord/test/cases/associations/eager_test.rb +++ b/activerecord/test/cases/associations/eager_test.rb @@ -1197,7 +1197,15 @@ class EagerAssociationTest < ActiveRecord::TestCase author = Author.includes(:posts).references(:posts).reorder(:name).find_by('posts.title IS NOT NULL') assert_equal authors(:bob), author end + + test "preloading with a polymorphic association and using the existential predicate but also using a select" do + assert_equal authors(:david), authors(:david).essays.includes(:writer).first.writer + assert_nothing_raised do + authors(:david).essays.includes(:writer).select(:name).any? + end + end + test "preloading with a polymorphic association and using the existential predicate" do assert_equal authors(:david), authors(:david).essays.includes(:writer).first.writer -- cgit v1.2.3