aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/scoping
diff options
context:
space:
mode:
authorJason Meller <jason.meller@mandiant.com>2014-01-18 00:51:34 -0500
committerJason Meller <jason.meller@mandiant.com>2014-01-20 16:58:18 -0500
commitcafe31a078276dbf941bd8b30f0caddc878c0830 (patch)
tree5c6b3f1d480c2d5aa2600dd144b932c950394a11 /activerecord/test/cases/scoping
parent5a09f13a34426a02a305a12dfc90ced9bdd6c46e (diff)
downloadrails-cafe31a078276dbf941bd8b30f0caddc878c0830.tar.gz
rails-cafe31a078276dbf941bd8b30f0caddc878c0830.tar.bz2
rails-cafe31a078276dbf941bd8b30f0caddc878c0830.zip
Ensure #second acts like #first AR finder
This commit bring the famous ordinal Array instance methods defined in ActiveSupport into ActiveRecord as fully-fledged finders. These finders ensure a default ascending order of the table's primary key, and utilize the OFFSET SQL verb to locate the user's desired record. If an offset is defined in the query, calling #second adds to the offset to get the actual desired record. Fixes #13743.
Diffstat (limited to 'activerecord/test/cases/scoping')
-rw-r--r--activerecord/test/cases/scoping/named_scoping_test.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/activerecord/test/cases/scoping/named_scoping_test.rb b/activerecord/test/cases/scoping/named_scoping_test.rb
index 72c9787b84..086977d9a2 100644
--- a/activerecord/test/cases/scoping/named_scoping_test.rb
+++ b/activerecord/test/cases/scoping/named_scoping_test.rb
@@ -344,13 +344,13 @@ class NamedScopingTest < ActiveRecord::TestCase
end
def test_scopes_batch_finders
- assert_equal 3, Topic.approved.count
+ assert_equal 4, Topic.approved.count
- assert_queries(4) do
+ assert_queries(5) do
Topic.approved.find_each(:batch_size => 1) {|t| assert t.approved? }
end
- assert_queries(2) do
+ assert_queries(3) do
Topic.approved.find_in_batches(:batch_size => 2) do |group|
group.each {|t| assert t.approved? }
end
@@ -366,7 +366,7 @@ class NamedScopingTest < ActiveRecord::TestCase
def test_scopes_on_relations
# Topic.replied
approved_topics = Topic.all.approved.order('id DESC')
- assert_equal topics(:fourth), approved_topics.first
+ assert_equal topics(:fifth), approved_topics.first
replied_approved_topics = approved_topics.replied
assert_equal topics(:third), replied_approved_topics.first