aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorkennyj <kennyj@gmail.com>2012-08-08 02:13:02 +0900
committerkennyj <kennyj@gmail.com>2012-08-08 02:52:55 +0900
commit42dd5d9f2976677a4bf22347f2dde1a8135dfbb4 (patch)
tree543a13b6e9f9a0e4cee65eecd14c741a70f72550 /activerecord/test/cases
parent485e655082c4ddbcde7788b3eac4bb8281b37d27 (diff)
downloadrails-42dd5d9f2976677a4bf22347f2dde1a8135dfbb4.tar.gz
rails-42dd5d9f2976677a4bf22347f2dde1a8135dfbb4.tar.bz2
rails-42dd5d9f2976677a4bf22347f2dde1a8135dfbb4.zip
Fix #7191. Remove unnecessary transaction when assigning has_one associations.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/associations/has_one_associations_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/has_one_associations_test.rb b/activerecord/test/cases/associations/has_one_associations_test.rb
index 112735839f..752c33b1db 100644
--- a/activerecord/test/cases/associations/has_one_associations_test.rb
+++ b/activerecord/test/cases/associations/has_one_associations_test.rb
@@ -535,4 +535,17 @@ class HasOneAssociationsTest < ActiveRecord::TestCase
ensure
ActiveRecord::Base.dependent_restrict_raises = option_before
end
+
+ def test_has_one_transaction
+ company = companies(:first_firm)
+ account = Account.find(1)
+
+ company.account # force loading
+ assert_no_queries { company.account = account }
+
+ company.account = nil
+ assert_no_queries { company.account = nil }
+ account = Account.find(2)
+ assert_queries { company.account = account }
+ end
end