aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/associations
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-09-28 17:22:01 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-09-28 17:22:01 -0700
commit54c05acdba138f3a7a3d44dfc922b0fe4e4cf554 (patch)
tree47fc4839934b50dba846ea56f0851bbd23d23730 /activerecord/test/cases/associations
parent50a96446bce10232bc70a7f4ef1c2d5f2018914e (diff)
parentfed6ac9c66e87d120098b3a4ffb15699d0ee6863 (diff)
downloadrails-54c05acdba138f3a7a3d44dfc922b0fe4e4cf554.tar.gz
rails-54c05acdba138f3a7a3d44dfc922b0fe4e4cf554.tar.bz2
rails-54c05acdba138f3a7a3d44dfc922b0fe4e4cf554.zip
Merge pull request #12375 from arthurnn/inverse_after_find_or_initialize
Inverse after find or initialize
Diffstat (limited to 'activerecord/test/cases/associations')
-rw-r--r--activerecord/test/cases/associations/has_many_associations_test.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb
index eec78f95c5..53cce33698 100644
--- a/activerecord/test/cases/associations/has_many_associations_test.rb
+++ b/activerecord/test/cases/associations/has_many_associations_test.rb
@@ -662,6 +662,17 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
end
end
+ def test_inverse_after_find_or_initialize
+ firm = companies(:first_firm)
+ client = firm.clients_of_firm.find_or_initialize_by_client_of(firm.id)
+ assert_no_queries do
+ assert_equal firm, client.firm
+ end
+
+ firm.name = "A new firm"
+ assert_equal firm.name, client.firm.name
+ end
+
def test_new_aliased_to_build
company = companies(:first_firm)
new_client = assert_no_queries { company.clients_of_firm.new("name" => "Another Client") }