aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/autosave_association_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/cases/autosave_association_test.rb')
-rw-r--r--activerecord/test/cases/autosave_association_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/cases/autosave_association_test.rb b/activerecord/test/cases/autosave_association_test.rb
index f7697fa77b..656798300d 100644
--- a/activerecord/test/cases/autosave_association_test.rb
+++ b/activerecord/test/cases/autosave_association_test.rb
@@ -341,6 +341,19 @@ class TestDefaultAutosaveAssociationOnABelongsToAssociation < ActiveRecord::Test
assert_equal num_tagging + 1, Tagging.count
end
+ def test_association_is_not_overwitten_on_autosave
+ firm_1 = Firm.create!(name: 'Apple')
+ firm_2 = Firm.create!(name: 'Microsoft')
+ client = Client.create!(firm: firm_1, name: 'Business')
+ assert_equal firm_1.id, client.client_of
+
+ client.client_of = firm_2.id
+ assert client.save
+
+ client.reload
+ assert_equal firm_2, client.firm
+ end
+
def test_build_and_then_save_parent_should_not_reload_target
client = Client.find(:first)
apple = client.build_firm(:name => "Apple")