aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/batches_test.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2009-03-11 15:24:30 +0000
committerPratik Naik <pratiknaik@gmail.com>2009-03-11 15:24:30 +0000
commit106976df0911e423042ec4abc165fd561766a047 (patch)
treef1f1678e5f545bc3db9a2f2764b339e323667c6f /activerecord/test/cases/batches_test.rb
parentf23adf0ed4bd596c9e7688455489a79f8b35eb3f (diff)
downloadrails-106976df0911e423042ec4abc165fd561766a047.tar.gz
rails-106976df0911e423042ec4abc165fd561766a047.tar.bz2
rails-106976df0911e423042ec4abc165fd561766a047.zip
Ensure ActiveRecord::Base.find_in_batches fires doesnt fire an extra query unless needed
Diffstat (limited to 'activerecord/test/cases/batches_test.rb')
-rw-r--r--activerecord/test/cases/batches_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/batches_test.rb b/activerecord/test/cases/batches_test.rb
index 705da9f88e..5009a90846 100644
--- a/activerecord/test/cases/batches_test.rb
+++ b/activerecord/test/cases/batches_test.rb
@@ -46,4 +46,16 @@ class EachTest < ActiveRecord::TestCase
end
end
end
+
+ def test_find_in_batches_shouldnt_excute_query_unless_needed
+ post_count = Post.count
+
+ assert_queries(2) do
+ Post.find_in_batches(:batch_size => post_count) {|batch| assert_kind_of Array, batch }
+ end
+
+ assert_queries(1) do
+ Post.find_in_batches(:batch_size => post_count + 1) {|batch| assert_kind_of Array, batch }
+ end
+ end
end \ No newline at end of file