0
@@ -872,21 +872,25 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
0
- new_client = companies(:first_firm).clients_of_firm.build("name" => "Another Client")
0
+ company = companies(:first_firm)
0
+ new_client = assert_no_queries { company.clients_of_firm.build("name" => "Another Client") }
0
+ assert !company.clients_of_firm.loaded?
0
assert_equal "Another Client", new_client.name
0
assert new_client.new_record?
0
- assert_equal new_client, companies(:first_firm).clients_of_firm.last
0
- assert companies(:first_firm).save
0
+ assert_equal new_client, company.clients_of_firm.last
0
+ assert_queries(2) { assert company.save }
0
assert !new_client.new_record?
0
- assert_equal 2, compan
ies(:first_firm).clients_of_firm(true).size
0
+ assert_equal 2, compan
y.clients_of_firm(true).size
0
- new_clients = companies(:first_firm).clients_of_firm.build([{"name" => "Another Client"}, {"name" => "Another Client II"}])
0
+ company = companies(:first_firm)
0
+ new_clients = assert_no_queries { company.clients_of_firm.build([{"name" => "Another Client"}, {"name" => "Another Client II"}]) }
0
assert_equal 2, new_clients.size
0
- assert companies(:first_firm).save
0
- assert_equal 3, companies(:first_firm).clients_of_firm(true).size
0
+ assert_queries(3) { assert company.save }
0
+ assert_equal 3, company.clients_of_firm(true).size
0
def test_build_followed_by_save_does_not_load_target
0
@@ -1908,8 +1912,12 @@ class HasAndBelongsToManyAssociationsTest < ActiveRecord::TestCase
0
devel = Developer.find(1)
0
- proj = devel.projects.build("name" => "Projekt")
0
+ proj = assert_no_queries { devel.projects.build("name" => "Projekt") }
0
+ assert !devel.projects.loaded?
0
assert_equal devel.projects.last, proj
0
+ assert devel.projects.loaded?
0
assert proj.new_record?
0
assert !proj.new_record?
0
@@ -1933,7 +1941,11 @@ class HasAndBelongsToManyAssociationsTest < ActiveRecord::TestCase
0
devel = Developer.find(1)
0
proj = devel.projects.create("name" => "Projekt")
0
+ assert !devel.projects.loaded?
0
assert_equal devel.projects.last, proj
0
+ assert devel.projects.loaded?
0
assert !proj.new_record?
0
assert_equal Developer.find(1).projects.sort_by(&:id).last, proj # prove join table is updated
0
@@ -1964,10 +1976,12 @@ class HasAndBelongsToManyAssociationsTest < ActiveRecord::TestCase
0
def test_uniq_after_the_fact
0
- developers(:jamis).projects << projects(:active_record)
0
- developers(:jamis).projects << projects(:active_record)
0
- assert_equal 3, developers(:jamis).projects.size
0
- assert_equal 1, developers(:jamis).projects.uniq.size
0
+ dev = developers(:jamis)
0
+ dev.projects << projects(:active_record)
0
+ dev.projects << projects(:active_record)
0
+ assert_equal 3, dev.projects.size
0
+ assert_equal 1, dev.projects.uniq.size
0
def test_uniq_before_the_fact