diff options
author | Godfrey Chan <godfreykfc@gmail.com> | 2014-05-16 10:50:21 -0700 |
---|---|---|
committer | Godfrey Chan <godfreykfc@gmail.com> | 2014-05-16 10:50:21 -0700 |
commit | 9900703ebf4d2688b2203e9b28d3cc588fac1641 (patch) | |
tree | c5cb4fd67bb5fad7f2e37c291ff5427beafc2376 /activerecord/test/cases | |
parent | cb85ddc8395b8468fceca43bf54518f5f3f5d2de (diff) | |
parent | 535f299df9b8228c854d3ed0554feeaf1946812f (diff) | |
download | rails-9900703ebf4d2688b2203e9b28d3cc588fac1641.tar.gz rails-9900703ebf4d2688b2203e9b28d3cc588fac1641.tar.bz2 rails-9900703ebf4d2688b2203e9b28d3cc588fac1641.zip |
Merge pull request #15125 from arthurnn/small_refactoring_transaction_clear
Small refactoring on clear_transaction_record_state
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/transactions_test.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/cases/transactions_test.rb b/activerecord/test/cases/transactions_test.rb index e6ed85394b..de1f624191 100644 --- a/activerecord/test/cases/transactions_test.rb +++ b/activerecord/test/cases/transactions_test.rb @@ -123,6 +123,19 @@ class TransactionTest < ActiveRecord::TestCase assert !Topic.find(1).approved? end + def test_rolling_back_in_a_callback_rollbacks_before_save + def @first.before_save_for_transaction + raise ActiveRecord::Rollback + end + assert !@first.approved + + Topic.transaction do + @first.approved = true + @first.save! + end + assert !Topic.find(@first.id).approved?, "Should not commit the approved flag" + end + def test_raising_exception_in_nested_transaction_restore_state_in_save topic = Topic.new |