diff options
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/associations/has_one_associations_test.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/has_one_associations_test.rb b/activerecord/test/cases/associations/has_one_associations_test.rb index 3ef25c7027..b1fcf47528 100644 --- a/activerecord/test/cases/associations/has_one_associations_test.rb +++ b/activerecord/test/cases/associations/has_one_associations_test.rb @@ -712,6 +712,24 @@ class HasOneAssociationsTest < ActiveRecord::TestCase } end + def test_polymorphic_has_one_with_touch_option_on_create_wont_cache_association_so_fetching_after_transaction_commit_works + assert_queries(4) { + chef = Chef.create(employable: DrinkDesignerWithPolymorphicTouchChef.new) + employable = chef.employable + + assert_equal chef, employable.chef + } + end + + def test_polymorphic_has_one_with_touch_option_on_update_will_touch_record_by_fetching_from_database_if_needed + DrinkDesignerWithPolymorphicTouchChef.create(chef: Chef.new) + designer = DrinkDesignerWithPolymorphicTouchChef.last + + assert_queries(3) { + designer.update(name: "foo") + } + end + def test_has_one_with_touch_option_on_update new_club = Club.create(name: "1000 Oaks") new_club.create_membership |