aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-01-09 16:06:14 +0000
committerAaron Patterson <aaron.patterson@gmail.com>2011-01-11 13:45:07 -0800
commit1d6e2184283d15d20ed3102ca462d905e5efa73d (patch)
treeafcdf32df5f755de5e47616319a46d96b867f4c9 /activerecord/test
parent4e19ec566c9132b85fdf0ff13a328238a6aca591 (diff)
downloadrails-1d6e2184283d15d20ed3102ca462d905e5efa73d.tar.gz
rails-1d6e2184283d15d20ed3102ca462d905e5efa73d.tar.bz2
rails-1d6e2184283d15d20ed3102ca462d905e5efa73d.zip
When assigning a has_one, if anything fails, the assignment should be rolled back entirely
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/associations/has_one_associations_test.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/activerecord/test/cases/associations/has_one_associations_test.rb b/activerecord/test/cases/associations/has_one_associations_test.rb
index b9719fa983..925b76b901 100644
--- a/activerecord/test/cases/associations/has_one_associations_test.rb
+++ b/activerecord/test/cases/associations/has_one_associations_test.rb
@@ -6,6 +6,7 @@ require 'models/ship'
require 'models/pirate'
class HasOneAssociationsTest < ActiveRecord::TestCase
+ self.use_transactional_fixtures = false unless supports_savepoints?
fixtures :accounts, :companies, :developers, :projects, :developers_projects, :ships, :pirates
def setup
@@ -317,7 +318,9 @@ class HasOneAssociationsTest < ActiveRecord::TestCase
assert_raise(ActiveRecord::RecordNotSaved) do
pirate.ship = new_ship
end
- assert_equal new_ship, pirate.ship
- assert_equal pirate.id, new_ship.pirate_id
+ assert_equal ships(:black_pearl), pirate.ship
+ assert_equal pirate.id, pirate.ship.pirate_id
+ assert_equal pirate.id, ships(:black_pearl).reload.pirate_id
+ assert_nil new_ship.pirate_id
end
end