aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2013-06-25 22:45:36 -0700
committerYves Senn <yves.senn@gmail.com>2013-06-25 22:45:36 -0700
commitb23e0d66394a7c5442cc1ebbf4f1f2441878a8d2 (patch)
tree80db1e7e5e96ba04f34afe4c917ce8e38ba5c099 /activerecord/test
parentcde6ead573a6f9638bb866935f21d66b05fc712f (diff)
parent0c96169f590b1b5ca9c180b033e7899e322a0f99 (diff)
downloadrails-b23e0d66394a7c5442cc1ebbf4f1f2441878a8d2.tar.gz
rails-b23e0d66394a7c5442cc1ebbf4f1f2441878a8d2.tar.bz2
rails-b23e0d66394a7c5442cc1ebbf4f1f2441878a8d2.zip
Merge pull request #9893 from JonRowe/add_test_to_assert_association_doesnt_overwrite
Add a test to assert autosaving associations doesn't overwrite id accessor methods
Diffstat (limited to 'activerecord/test')
-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")