From 482f8c15b1d699c95bfbc3d836f674a09c0d9031 Mon Sep 17 00:00:00 2001 From: Aaron Pfeifer Date: Wed, 27 Mar 2013 22:27:47 -0400 Subject: Fix updates not working within after_create hooks --- activerecord/test/cases/persistence_test.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'activerecord/test/cases/persistence_test.rb') diff --git a/activerecord/test/cases/persistence_test.rb b/activerecord/test/cases/persistence_test.rb index a29189df05..ff06bd4f8b 100644 --- a/activerecord/test/cases/persistence_test.rb +++ b/activerecord/test/cases/persistence_test.rb @@ -296,6 +296,22 @@ class PersistencesTest < ActiveRecord::TestCase assert_equal "Reply", topic.type end + def test_update_after_create + klass = Class.new(Topic) do + def self.name; 'Topic'; end + after_create do + update_attribute("author_name", "David") + end + end + topic = klass.new + topic.title = "Another New Topic" + topic.save + + topicReloaded = Topic.find(topic.id) + assert_equal("Another New Topic", topicReloaded.title) + assert_equal("David", topicReloaded.author_name) + end + def test_delete topic = Topic.find(1) assert_equal topic, topic.delete, 'topic.delete did not return self' -- cgit v1.2.3