From 9401fa0b9c89f51e3ec0f7aaeee7404b4a14ada8 Mon Sep 17 00:00:00 2001 From: Neeraj Singh Date: Tue, 7 Sep 2010 13:08:03 -0400 Subject: expanding the test to include both type of order declaration while declaring default_scope MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also added test for unscoped using block style with four different combinations Signed-off-by: José Valim --- activerecord/test/cases/relations_test.rb | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'activerecord/test/cases/relations_test.rb') diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb index d43ba31814..3bc3671b77 100644 --- a/activerecord/test/cases/relations_test.rb +++ b/activerecord/test/cases/relations_test.rb @@ -680,19 +680,35 @@ class RelationTest < ActiveRecord::TestCase end def test_order_with_find_with_order - assert_equal 'zyke', Car.order('name desc').find(:first, :order => 'id').name + assert_equal 'zyke', CoolCar.order('name desc').find(:first, :order => 'id').name + assert_equal 'zyke', FastCar.order('name desc').find(:first, :order => 'id').name end def test_default_scope_order_with_named_scope_order - assert_equal 'zyke', Car.order_using_new_style.limit(1).first.name - assert_equal 'zyke', Car.order_using_old_style.limit(1).first.name + assert_equal 'zyke', CoolCar.order_using_new_style.limit(1).first.name + assert_equal 'zyke', CoolCar.order_using_old_style.limit(1).first.name + assert_equal 'zyke', FastCar.order_using_new_style.limit(1).first.name + assert_equal 'zyke', FastCar.order_using_old_style.limit(1).first.name end def test_order_using_scoping - car = Car.order('id DESC').scoping do - Car.find(:first, :order => 'id asc') + car1 = CoolCar.order('id DESC').scoping do + CoolCar.find(:first, :order => 'id asc') end - assert_equal 'zyke', car.name + assert_equal 'zyke', car1.name + + car2 = FastCar.order('id DESC').scoping do + FastCar.find(:first, :order => 'id asc') + end + assert_equal 'zyke', car2.name + end + + def test_unscoped_block_style + assert_equal 'honda', CoolCar.unscoped { CoolCar.order_using_new_style.limit(1).first.name} + assert_equal 'honda', CoolCar.unscoped { CoolCar.order_using_old_style.limit(1).first.name} + + assert_equal 'honda', FastCar.unscoped { FastCar.order_using_new_style.limit(1).first.name} + assert_equal 'honda', FastCar.unscoped { FastCar.order_using_old_style.limit(1).first.name} end def test_intersection_with_array -- cgit v1.2.3