diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2009-02-24 12:30:37 +0000 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2009-02-24 12:30:37 +0000 |
commit | 1248c6325b28082232162551af055f3681b0813a (patch) | |
tree | 3d8a087421f0d74da7a7c3878e3ad1dddbf23697 /activerecord/test | |
parent | 346ac0bba7cfbfbd0a7155163ca4125bc80ba463 (diff) | |
parent | 53cd102b39eb62567298430cbd94e40dd78d46a0 (diff) | |
download | rails-1248c6325b28082232162551af055f3681b0813a.tar.gz rails-1248c6325b28082232162551af055f3681b0813a.tar.bz2 rails-1248c6325b28082232162551af055f3681b0813a.zip |
Merge commit 'mainstream/master'
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/batches_test.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/activerecord/test/cases/batches_test.rb b/activerecord/test/cases/batches_test.rb new file mode 100644 index 0000000000..108d679108 --- /dev/null +++ b/activerecord/test/cases/batches_test.rb @@ -0,0 +1,49 @@ +require 'cases/helper' +require 'models/post' + +class EachTest < ActiveRecord::TestCase + fixtures :posts + + def setup + @posts = Post.all(:order => "id asc") + @total = Post.count + end + + def test_each_should_excecute_one_query_per_batch + assert_queries(Post.count + 1) do + Post.each(:batch_size => 1) do |post| + assert_kind_of Post, post + end + end + end + + def test_each_should_raise_if_the_order_is_set + assert_raise(RuntimeError) do + Post.each(:order => "title") { |post| post } + end + end + + def test_each_should_raise_if_the_limit_is_set + assert_raise(RuntimeError) do + Post.each(:limit => 1) { |post| post } + end + end + + def test_find_in_batches_should_return_batches + assert_queries(Post.count + 1) do + Post.find_in_batches(:batch_size => 1) do |batch| + assert_kind_of Array, batch + assert_kind_of Post, batch.first + end + end + end + + def test_find_in_batches_should_start_from_the_start_option + assert_queries(Post.count) do + Post.find_in_batches(:batch_size => 1, :start => 2) do |batch| + assert_kind_of Array, batch + assert_kind_of Post, batch.first + end + end + end +end
\ No newline at end of file |