From 4498f93e68bfdc0a02285f683b0c7cdc016f5898 Mon Sep 17 00:00:00 2001 From: Thiago Almeida Date: Fri, 16 Mar 2012 11:04:24 -0300 Subject: tests for Relation .present? and .blank? are check cases and shouldn't force sql-count --- activerecord/test/cases/relations_test.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb index 91bc407d42..bbd06a1c2c 100644 --- a/activerecord/test/cases/relations_test.rb +++ b/activerecord/test/cases/relations_test.rb @@ -1234,4 +1234,23 @@ class RelationTest < ActiveRecord::TestCase scope = Post.order('foo(comments.body)') assert_equal [], scope.references_values end + + def test_presence + topics = Topic.scoped + + assert_queries(1) do + #checking if there are topics is used before you actually display them, + #thus it shouldn't invoke an extra count query + assert topics.present? + assert !topics.blank? + + #shows count of topics and loops after loading the query should not trigger extra queries either + assert_no_queries topics.size + assert_no_queries topics.count + assert_no_queries topics.length + assert_no_queries topics.each + end + + assert topics.loaded? + end end -- cgit v1.2.3