From d5a4d5abb41c50f96b554374b937ffe49d472d7f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 12 Mar 2008 21:26:02 +0000 Subject: Added ActiveRecord::Base.find(:last) (closes #11338) [miloops] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9012 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/cases/base_test.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'activerecord/test') diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index f2720130e2..91cfdee0cf 100755 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1616,6 +1616,33 @@ class BasicsTest < ActiveRecord::TestCase end end + def test_find_last + last = Developer.find :last + assert_equal last, Developer.find(:first, :order => 'id desc') + end + + def test_find_ordered_last + last = Developer.find :last, :order => 'developers.salary ASC' + assert_equal last, Developer.find(:all, :order => 'developers.salary ASC').last + end + + def test_find_reverse_ordered_last + last = Developer.find :last, :order => 'developers.salary DESC' + assert_equal last, Developer.find(:all, :order => 'developers.salary DESC').last + end + + def test_find_multiple_ordered_last + last = Developer.find :last, :order => 'developers.name, developers.salary DESC' + assert_equal last, Developer.find(:all, :order => 'developers.name, developers.salary DESC').last + end + + def test_find_scoped_ordered_last + last_developer = Developer.with_scope(:find => { :order => 'developers.salary ASC' }) do + Developer.find(:last) + end + assert_equal last_developer, Developer.find(:all, :order => 'developers.salary ASC').last + end + def test_abstract_class assert !ActiveRecord::Base.abstract_class? assert LoosePerson.abstract_class? -- cgit v1.2.3