diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2018-05-05 02:53:32 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-05 02:53:32 +0900 |
commit | 5eaec23b89a83763b59bd017d872d35feea70af1 (patch) | |
tree | d65c119951299ccb02902a7b813402c88c307a52 /activerecord/test | |
parent | 99e4bb735d955318a7503c404d83c3314350ba20 (diff) | |
parent | a779b1a08bb73be2b50d42ae69b3946de98e5af4 (diff) | |
download | rails-5eaec23b89a83763b59bd017d872d35feea70af1.tar.gz rails-5eaec23b89a83763b59bd017d872d35feea70af1.tar.bz2 rails-5eaec23b89a83763b59bd017d872d35feea70af1.zip |
Merge pull request #32807 from bdurand/fix_committed_disable_callbacks
Fix logic on disabling afer_commit callbacks
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/transaction_callbacks_test.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/activerecord/test/cases/transaction_callbacks_test.rb b/activerecord/test/cases/transaction_callbacks_test.rb index e89ac53732..05941c75ac 100644 --- a/activerecord/test/cases/transaction_callbacks_test.rb +++ b/activerecord/test/cases/transaction_callbacks_test.rb @@ -367,6 +367,26 @@ class TransactionCallbacksTest < ActiveRecord::TestCase assert_match(/:on conditions for after_commit and after_rollback callbacks have to be one of \[:create, :destroy, :update\]/, e.message) end + def test_after_commit_chain_not_called_on_errors + record_1 = TopicWithCallbacks.create! + record_2 = TopicWithCallbacks.create! + record_3 = TopicWithCallbacks.create! + callbacks = [] + record_1.after_commit_block { raise } + record_2.after_commit_block { callbacks << record_2.id } + record_3.after_commit_block { callbacks << record_3.id } + begin + TopicWithCallbacks.transaction do + record_1.save! + record_2.save! + record_3.save! + end + rescue + # From record_1.after_commit + end + assert_equal [], callbacks + end + def test_saving_a_record_with_a_belongs_to_that_specifies_touching_the_parent_should_call_callbacks_on_the_parent_object pet = Pet.first owner = pet.owner |