diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-01-13 15:04:23 +0100 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-01-13 15:07:14 +0100 |
commit | e95031f55dd54945abebe6e9f8a12e428ada4146 (patch) | |
tree | 78980ad99b642e51df1b0fdeb366f53044ef1740 /activerecord/test | |
parent | ee4b5f1b8aedc59d94e72e1f0689de48e3b477bb (diff) | |
download | rails-e95031f55dd54945abebe6e9f8a12e428ada4146.tar.gz rails-e95031f55dd54945abebe6e9f8a12e428ada4146.tar.bz2 rails-e95031f55dd54945abebe6e9f8a12e428ada4146.zip |
fix bug in becomes! when changing from base to subclass. Closes #13272.
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/inheritance_test.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/activerecord/test/cases/inheritance_test.rb b/activerecord/test/cases/inheritance_test.rb index cb0d374ef7..7fd7d42354 100644 --- a/activerecord/test/cases/inheritance_test.rb +++ b/activerecord/test/cases/inheritance_test.rb @@ -128,6 +128,17 @@ class InheritanceTest < ActiveRecord::TestCase assert_kind_of Cabbage, cabbage end + def test_alt_becomes_bang_resets_inheritance_type_column + vegetable = Vegetable.create!(name: "Red Pepper") + assert_nil vegetable.custom_type + + cabbage = vegetable.becomes!(Cabbage) + assert_equal "Cabbage", cabbage.custom_type + + vegetable = cabbage.becomes!(Vegetable) + assert_nil cabbage.custom_type + end + def test_inheritance_find_all companies = Company.all.merge!(:order => 'id').to_a assert_kind_of Firm, companies[0], "37signals should be a firm" |