diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2018-01-23 01:49:40 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-23 01:49:40 +0900 |
commit | c177bca26cbc08f8dfb1e3a68613a89e6a035783 (patch) | |
tree | bd19f9c4b9452e4961bbcbe16002cb370d9c76ca /activerecord/test/cases/persistence_test.rb | |
parent | 7bb0b397ea51b0e41b5ebdf4fe5edcfc7345b600 (diff) | |
parent | 3562331669443b600f1cf9fd93a0cddaaf94d319 (diff) | |
download | rails-c177bca26cbc08f8dfb1e3a68613a89e6a035783.tar.gz rails-c177bca26cbc08f8dfb1e3a68613a89e6a035783.tar.bz2 rails-c177bca26cbc08f8dfb1e3a68613a89e6a035783.zip |
Merge pull request #30535 from leonelgalan/becomes_and_default_inheritance
Ignores a default subclass when `becomes(Parent)`
Diffstat (limited to 'activerecord/test/cases/persistence_test.rb')
-rw-r--r-- | activerecord/test/cases/persistence_test.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/cases/persistence_test.rb b/activerecord/test/cases/persistence_test.rb index 0edca96cf5..d242fff442 100644 --- a/activerecord/test/cases/persistence_test.rb +++ b/activerecord/test/cases/persistence_test.rb @@ -473,6 +473,22 @@ class PersistenceTest < ActiveRecord::TestCase assert_instance_of Reply, Reply.find(reply.id) end + def test_becomes_default_sti_subclass + original_type = Topic.columns_hash["type"].default + ActiveRecord::Base.connection.change_column_default :topics, :type, "Reply" + Topic.reset_column_information + + reply = topics(:second) + assert_instance_of Reply, reply + + topic = reply.becomes(Topic) + assert_instance_of Topic, topic + + ensure + ActiveRecord::Base.connection.change_column_default :topics, :type, original_type + Topic.reset_column_information + end + def test_update_after_create klass = Class.new(Topic) do def self.name; "Topic"; end |