diff options
author | Rafael Mendonça França <rafael.franca@plataformatec.com.br> | 2015-02-19 09:04:31 -0200 |
---|---|---|
committer | Rafael Mendonça França <rafael.franca@plataformatec.com.br> | 2015-02-19 09:04:31 -0200 |
commit | 41b9730c6d033ea7f38fae4d18347c5370ff7b6c (patch) | |
tree | e28e9420ff4180b9d2dc7e7f79abefc58c3ff657 /activerecord/test/cases | |
parent | 06d5d2c5e9cfcd92ba239703c0d699d17a90621e (diff) | |
parent | b9a1e9a4b2289de199b214a542aa9fd3cb19be54 (diff) | |
download | rails-41b9730c6d033ea7f38fae4d18347c5370ff7b6c.tar.gz rails-41b9730c6d033ea7f38fae4d18347c5370ff7b6c.tar.bz2 rails-41b9730c6d033ea7f38fae4d18347c5370ff7b6c.zip |
Merge pull request #18910 from perceptec/add_suppressor
Add `ActiveRecord::Base.suppress` to allow save events to be suppressed within a specified block.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/suppressor_test.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/activerecord/test/cases/suppressor_test.rb b/activerecord/test/cases/suppressor_test.rb new file mode 100644 index 0000000000..011d712bb8 --- /dev/null +++ b/activerecord/test/cases/suppressor_test.rb @@ -0,0 +1,22 @@ +require 'cases/helper' +require 'models/notification' +require 'models/user' + +class SuppressorTest < ActiveRecord::TestCase + + def test_suppresses_creation_of_record_generated_by_callback + assert_difference -> { User.count } do + assert_no_difference -> { Notification.count } do + Notification.suppress { UserWithNotification.create! } + end + end + end + + def test_resumes_saving_after_suppression_complete + Notification.suppress { UserWithNotification.create! } + + assert_difference -> { Notification.count } do + Notification.create! + end + end +end |