From 7ddc8f2e1bc9c818b622373a8c85bd679533cefd Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Sun, 6 Apr 2008 02:32:51 +0000 Subject: Ensure that save on parent object fails for invalid has_one association. Closes #10518. [Pratik] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9232 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/cases/associations_test.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'activerecord/test/cases/associations_test.rb') diff --git a/activerecord/test/cases/associations_test.rb b/activerecord/test/cases/associations_test.rb index 22a6bfc3a5..6aa9010f48 100755 --- a/activerecord/test/cases/associations_test.rb +++ b/activerecord/test/cases/associations_test.rb @@ -433,6 +433,18 @@ class HasOneAssociationsTest < ActiveRecord::TestCase assert_equal a, firm.account assert_equal a, firm.account(true) end + + def test_save_fails_for_invalid_has_one + firm = Firm.find(:first) + assert firm.valid? + + firm.account = Account.new + + assert !firm.account.valid? + assert !firm.valid? + assert !firm.save + assert_equal "is invalid", firm.errors.on("account") + end def test_assignment_before_either_saved firm = Firm.new("name" => "GlobalMegaCorp") -- cgit v1.2.3