aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2010-01-23 13:40:38 +0530
committerPratik Naik <pratiknaik@gmail.com>2010-01-23 13:41:09 +0530
commit8ff2fb6f3aa6140f5a8bd018d5919a8a1e707cda (patch)
treeddffd8e35044c3c56336819d585e0896b1d3b457 /activerecord/test
parentc2e57c0bb02396cd7762d67f5dd8d6aa1e1814a9 (diff)
downloadrails-8ff2fb6f3aa6140f5a8bd018d5919a8a1e707cda.tar.gz
rails-8ff2fb6f3aa6140f5a8bd018d5919a8a1e707cda.tar.bz2
rails-8ff2fb6f3aa6140f5a8bd018d5919a8a1e707cda.zip
Make default_scope work with Relations
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/method_scoping_test.rb8
-rw-r--r--activerecord/test/models/post.rb5
2 files changed, 12 insertions, 1 deletions
diff --git a/activerecord/test/cases/method_scoping_test.rb b/activerecord/test/cases/method_scoping_test.rb
index fbd1adf088..1081aa40a9 100644
--- a/activerecord/test/cases/method_scoping_test.rb
+++ b/activerecord/test/cases/method_scoping_test.rb
@@ -588,7 +588,7 @@ class HasAndBelongsToManyScopingTest< ActiveRecord::TestCase
end
class DefaultScopingTest < ActiveRecord::TestCase
- fixtures :developers
+ fixtures :developers, :posts
def test_default_scope
expected = Developer.find(:all, :order => 'salary DESC').collect { |dev| dev.salary }
@@ -657,6 +657,12 @@ class DefaultScopingTest < ActiveRecord::TestCase
received = DeveloperOrderedBySalary.find(:all, :order => 'salary').collect { |dev| dev.salary }
assert_equal expected, received
end
+
+ def test_default_scope_using_relation
+ posts = PostWithComment.scoped
+ assert_equal 2, posts.count
+ assert_equal posts(:thinking), posts.first
+ end
end
=begin
diff --git a/activerecord/test/models/post.rb b/activerecord/test/models/post.rb
index f48b35486c..704313649a 100644
--- a/activerecord/test/models/post.rb
+++ b/activerecord/test/models/post.rb
@@ -100,3 +100,8 @@ end
class SubStiPost < StiPost
self.table_name = Post.table_name
end
+
+class PostWithComment < ActiveRecord::Base
+ self.table_name = 'posts'
+ default_scope where("posts.comments_count > 0").order("posts.comments_count ASC")
+end