diff options
author | Jan De Poorter <jan@defv.be> | 2008-06-25 12:42:33 +0200 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-06-27 03:02:13 +0100 |
commit | b2b761166d28c1aba9165da76fba28027171fd2d (patch) | |
tree | c2a6de3d5fcd63286e77e4e95e2e3374cd9c2e83 /activerecord/test | |
parent | 5ca7d01ecaa5e97f724169c0177027d0d85066da (diff) | |
download | rails-b2b761166d28c1aba9165da76fba28027171fd2d.tar.gz rails-b2b761166d28c1aba9165da76fba28027171fd2d.tar.bz2 rails-b2b761166d28c1aba9165da76fba28027171fd2d.zip |
Make sure associated has_many/habtm objects get saved even when :validate => false is used. [#486 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/associations/has_many_associations_test.rb | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb index b638143c5a..1e21614f45 100644 --- a/activerecord/test/cases/associations/has_many_associations_test.rb +++ b/activerecord/test/cases/associations/has_many_associations_test.rb @@ -345,7 +345,7 @@ class HasManyAssociationsTest < ActiveRecord::TestCase def test_invalid_adding_with_validate_false firm = Firm.find(:first) client = Client.new - firm.unvalidated_clients_of_firm << Client.new + firm.unvalidated_clients_of_firm << client assert firm.valid? assert !client.valid? @@ -353,6 +353,23 @@ class HasManyAssociationsTest < ActiveRecord::TestCase assert client.new_record? end + def test_valid_adding_with_validate_false + no_of_clients = Client.count + + firm = Firm.find(:first) + client = Client.new("name" => "Apple") + + assert firm.valid? + assert client.valid? + assert client.new_record? + + firm.unvalidated_clients_of_firm << client + + assert firm.save + assert !client.new_record? + assert_equal no_of_clients+1, Client.count + end + def test_build company = companies(:first_firm) new_client = assert_no_queries { company.clients_of_firm.build("name" => "Another Client") } |