diff options
author | Hemant Kumar <gethemant@gmail.com> | 2012-05-09 17:32:15 +0530 |
---|---|---|
committer | Hemant Kumar <gethemant@gmail.com> | 2012-05-09 17:32:15 +0530 |
commit | 44d1804b0a86de02865c48c552bbc57da3dc7836 (patch) | |
tree | 4f9fefc3d5254e6deae380d1f19d8c31b534b0b2 /activerecord/test | |
parent | beea9f5d4eb96a6d13863a403ce100ae9710259a (diff) | |
download | rails-44d1804b0a86de02865c48c552bbc57da3dc7836.tar.gz rails-44d1804b0a86de02865c48c552bbc57da3dc7836.tar.bz2 rails-44d1804b0a86de02865c48c552bbc57da3dc7836.zip |
Fix transaction state not changing when after record gets commited
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/transaction_callbacks_test.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/activerecord/test/cases/transaction_callbacks_test.rb b/activerecord/test/cases/transaction_callbacks_test.rb index f8b3e01a49..9246157a13 100644 --- a/activerecord/test/cases/transaction_callbacks_test.rb +++ b/activerecord/test/cases/transaction_callbacks_test.rb @@ -290,3 +290,28 @@ class TransactionObserverCallbacksTest < ActiveRecord::TestCase assert_equal %w{ after_rollback }, topic.history end end + +class SaveFromAfterCommitBlockTest < ActiveRecord::TestCase + self.use_transactional_fixtures = false + + class TopicWithSaveInCallback < ActiveRecord::Base + self.table_name = :topics + after_commit :cache_topic, :on => :create + attr_accessor :cached + + def cache_topic + unless cached + self.cached = true + self.save + else + self.cached = false + end + end + end + + def test_after_commit_in_save + topic = TopicWithSaveInCallback.new() + topic.save + assert_equal true, topic.cached + end +end |