From 8cd1d5a41cf54f0dfde2b2d0d406457a6a58dbeb Mon Sep 17 00:00:00 2001 From: Sean Griffin Date: Sun, 19 Jul 2015 15:50:12 -0600 Subject: Fix the test that was broken by #16445 rather than deleting it Since the counter cache was properly being updated, the model became stale. Simply reloading the model before attempting to destroy is sufficient for this case. I believe this is enough of an edge case to be a valid change to the tests, even though it represents a potential breaking change. --- activerecord/test/cases/locking_test.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'activerecord/test/cases') diff --git a/activerecord/test/cases/locking_test.rb b/activerecord/test/cases/locking_test.rb index 839bbea5bb..2e1363334d 100644 --- a/activerecord/test/cases/locking_test.rb +++ b/activerecord/test/cases/locking_test.rb @@ -263,6 +263,18 @@ class OptimisticLockingTest < ActiveRecord::TestCase end end + def test_polymorphic_destroy_with_dependencies_and_lock_version + car = Car.create! + + assert_difference 'car.wheels.count' do + car.wheels << Wheel.create! + end + assert_difference 'car.wheels.count', -1 do + car.reload.destroy + end + assert car.destroyed? + end + def test_removing_has_and_belongs_to_many_associations_upon_destroy p = RichPerson.create! first_name: 'Jon' p.treasures.create! -- cgit v1.2.3