aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorArun Agrawal <arun@fromjaipur.com>2011-09-05 00:12:57 +0530
committerArun Agrawal <arun@fromjaipur.com>2011-09-05 00:12:57 +0530
commit9066e3402548d365dc7cf2abda8e7cd64370675c (patch)
tree6dda8a6eb139f8c223067e543628cc7e9b0b6e87 /activerecord/test/cases
parente865d125431424562b5e252ed151f6bae8dd5e8f (diff)
downloadrails-9066e3402548d365dc7cf2abda8e7cd64370675c.tar.gz
rails-9066e3402548d365dc7cf2abda8e7cd64370675c.tar.bz2
rails-9066e3402548d365dc7cf2abda8e7cd64370675c.zip
We need to recorder here. Need to drop the order from default scope.
Fixes #2832
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/batches_test.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/activerecord/test/cases/batches_test.rb b/activerecord/test/cases/batches_test.rb
index a35baee4ed..6ce1fbc7fa 100644
--- a/activerecord/test/cases/batches_test.rb
+++ b/activerecord/test/cases/batches_test.rb
@@ -113,7 +113,27 @@ class EachTest < ActiveRecord::TestCase
batch.map! { not_a_post }
end
end
+ end
+ def test_find_in_batches_should_ignore_the_order_default_scope
+ # First post is with title scope
+ first_post = PostWithDefaultScope.first
+ posts = []
+ PostWithDefaultScope.find_in_batches do |batch|
+ posts.concat(batch)
+ end
+ # posts.first will be ordered using id only. Title order scope should not apply here
+ assert_not_equal first_post, posts.first
+ assert_equal posts(:welcome), posts.first
+ end
+
+ def test_find_in_batches_should_not_ignore_the_default_scope_if_it_is_other_then_order
+ special_posts_ids = SpecialPostWithDefaultScope.all.map(&:id)
+ posts = []
+ SpecialPostWithDefaultScope.find_in_batches do |batch|
+ posts.concat(batch)
+ end
+ assert_equal special_posts_ids, posts.map(&:id)
end
end