diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index <HASH>..<HASH> 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
tests for Relation .present? and .blank? are check cases and shouldn't force sql-count