aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/persistence_test.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2012-11-18 23:25:13 -0200
committerRafael Mendonça França <rafaelmfranca@gmail.com>2012-11-18 23:25:13 -0200
commit0cc9c1255d8bc5a2f7d4abb8553e9eefabf3deac (patch)
tree5283bc0dd4515dc35646ae691adf6c9733756b9a /activerecord/test/cases/persistence_test.rb
parentf460835dd5ebcede6f02e0459a7e6f8271b9047c (diff)
parent70fa756ddb83684a05c840ff16e6b57cff5c5048 (diff)
downloadrails-0cc9c1255d8bc5a2f7d4abb8553e9eefabf3deac.tar.gz
rails-0cc9c1255d8bc5a2f7d4abb8553e9eefabf3deac.tar.bz2
rails-0cc9c1255d8bc5a2f7d4abb8553e9eefabf3deac.zip
Merge pull request #3023 from Tho85/preserve_sti_type
AR::Base.becomes should not change the STI type Conflicts: activerecord/CHANGELOG.md
Diffstat (limited to 'activerecord/test/cases/persistence_test.rb')
-rw-r--r--activerecord/test/cases/persistence_test.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/activerecord/test/cases/persistence_test.rb b/activerecord/test/cases/persistence_test.rb
index 4b938da5c4..b2609f6395 100644
--- a/activerecord/test/cases/persistence_test.rb
+++ b/activerecord/test/cases/persistence_test.rb
@@ -280,12 +280,23 @@ class PersistencesTest < ActiveRecord::TestCase
def test_update_sti_type
assert_instance_of Reply, topics(:second)
- topic = topics(:second).becomes(Topic)
+ topic = topics(:second).becomes!(Topic)
assert_instance_of Topic, topic
topic.save!
assert_instance_of Topic, Topic.find(topic.id)
end
+ def test_preserve_original_sti_type
+ reply = topics(:second)
+ assert_equal "Reply", reply.type
+
+ topic = reply.becomes(Topic)
+ assert_equal "Reply", reply.type
+
+ assert_instance_of Topic, topic
+ assert_equal "Reply", topic.type
+ end
+
def test_delete
topic = Topic.find(1)
assert_equal topic, topic.delete, 'topic.delete did not return self'