aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorWashington Luiz <huoxito@gmail.com>2014-01-28 00:59:11 -0300
committerWashington Luiz <huoxito@gmail.com>2014-01-30 18:35:27 -0300
commitabc19c37aea561e7b087cee9d60c5698483f3136 (patch)
treeb0c1ac1dd708a88eb264ed1398ff7e6826d32aa4 /activerecord/test
parentd4d041c1fe55c10a786a4a1a7ff0c34867944b2f (diff)
downloadrails-abc19c37aea561e7b087cee9d60c5698483f3136.tar.gz
rails-abc19c37aea561e7b087cee9d60c5698483f3136.tar.bz2
rails-abc19c37aea561e7b087cee9d60c5698483f3136.zip
Let `unscope` ignore non Arel scope.where_values
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/scoping/default_scoping_test.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/activerecord/test/cases/scoping/default_scoping_test.rb b/activerecord/test/cases/scoping/default_scoping_test.rb
index 71754cf0a2..170e9a49eb 100644
--- a/activerecord/test/cases/scoping/default_scoping_test.rb
+++ b/activerecord/test/cases/scoping/default_scoping_test.rb
@@ -149,6 +149,16 @@ class DefaultScopingTest < ActiveRecord::TestCase
assert_equal expected, received
end
+ def test_unscope_string_where_clauses_involved
+ dev_relation = Developer.order('salary DESC').where("created_at > ?", 1.year.ago)
+ expected = dev_relation.collect { |dev| dev.name }
+
+ dev_ordered_relation = DeveloperOrderedBySalary.where(name: 'Jamis').where("created_at > ?", 1.year.ago)
+ received = dev_ordered_relation.unscope(where: [:name]).collect { |dev| dev.name }
+
+ assert_equal expected, received
+ end
+
def test_unscope_with_grouping_attributes
expected = Developer.order('salary DESC').collect { |dev| dev.name }
received = DeveloperOrderedBySalary.group(:name).unscope(:group).collect { |dev| dev.name }