diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-04-28 22:59:18 -0300 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-04-28 23:00:35 -0300 |
commit | 85a56ff01de71d4978e809d86920513a95ddf3a0 (patch) | |
tree | 806edb7effa8edd76c4c6cdb03155e2f0f342acc /activerecord/test/cases/scoping | |
parent | 226de24fa2c9c402495287f5d8153e132759c8c8 (diff) | |
download | rails-85a56ff01de71d4978e809d86920513a95ddf3a0.tar.gz rails-85a56ff01de71d4978e809d86920513a95ddf3a0.tar.bz2 rails-85a56ff01de71d4978e809d86920513a95ddf3a0.zip |
Delegate #unscope query method
Diffstat (limited to 'activerecord/test/cases/scoping')
-rw-r--r-- | activerecord/test/cases/scoping/default_scoping_test.rb | 10 |
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 5a65ad5dfa..0f69443839 100644 --- a/activerecord/test/cases/scoping/default_scoping_test.rb +++ b/activerecord/test/cases/scoping/default_scoping_test.rb @@ -198,6 +198,16 @@ class DefaultScopingTest < ActiveRecord::TestCase assert_equal expected, received end + def test_unscope_and_scope + developer_klass = Class.new(Developer) do + scope :by_name, -> name { unscope(where: :name).where(name: name) } + end + + expected = developer_klass.where(name: 'Jamis').collect { |dev| [dev.name, dev.id] } + received = developer_klass.where(name: 'David').by_name('Jamis').collect { |dev| [dev.name, dev.id] } + assert_equal expected, received + end + def test_unscope_errors_with_invalid_value assert_raises(ArgumentError) do Developer.includes(:projects).where(name: "Jamis").unscope(:stupidly_incorrect_value) |