aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/locking_test.rb
diff options
context:
space:
mode:
authorDmitry Polushkin <dmitry.polushkin@gmail.com>2011-09-09 08:31:54 +0100
committerDmitry Polushkin <dmitry.polushkin@gmail.com>2011-09-09 08:31:54 +0100
commitedd2f21e8095fe4a38e812025b4d9fd0e0cc28f1 (patch)
treef5c6e656d2961e727c8de1c6aea846ad9f9c54c3 /activerecord/test/cases/locking_test.rb
parentac1a363c6ed889d11e8fabd6dd69a8a6df9e3cfd (diff)
downloadrails-edd2f21e8095fe4a38e812025b4d9fd0e0cc28f1.tar.gz
rails-edd2f21e8095fe4a38e812025b4d9fd0e0cc28f1.tar.bz2
rails-edd2f21e8095fe4a38e812025b4d9fd0e0cc28f1.zip
Test polymorphic record with optimistic locking and counter cache should be destoyed without catching the ActiveRecord::StaleObjectError.
Diffstat (limited to 'activerecord/test/cases/locking_test.rb')
-rw-r--r--activerecord/test/cases/locking_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/locking_test.rb b/activerecord/test/cases/locking_test.rb
index 61baa55027..a809cd0aa7 100644
--- a/activerecord/test/cases/locking_test.rb
+++ b/activerecord/test/cases/locking_test.rb
@@ -6,6 +6,9 @@ require 'models/reader'
require 'models/legacy_thing'
require 'models/reference'
require 'models/string_key_object'
+require 'models/car'
+require 'models/engine'
+require 'models/wheel'
class LockWithoutDefault < ActiveRecord::Base; end
@@ -207,6 +210,15 @@ class OptimisticLockingTest < ActiveRecord::TestCase
assert_equal lock_version, p1.lock_version
end
end
+
+ def test_polymorphic_destroy_with_dependencies_and_lock_version
+ car = Car.create!
+ car.wheels << Wheel.create!
+ assert_equal 1, car.wheels.count
+ assert car.destroy
+ assert_equal 0, car.wheels.count
+ assert car.destroyed?
+ end
end
class OptimisticLockingWithSchemaChangeTest < ActiveRecord::TestCase