diff options
author | Nick Rogers <ncrogers@gmail.com> | 2012-03-07 17:16:21 -0500 |
---|---|---|
committer | Nick Rogers <ncrogers@gmail.com> | 2012-11-13 10:36:24 -0800 |
commit | 05e1466e059a12bddd066a9f22ca575d81cfc21d (patch) | |
tree | 5bb201db68f6a8d422169e40fb6976f6264e0855 /activerecord/test/cases/locking_test.rb | |
parent | 5ed0381db5e6dff1269f3f22ec4fa69c203c37d9 (diff) | |
download | rails-05e1466e059a12bddd066a9f22ca575d81cfc21d.tar.gz rails-05e1466e059a12bddd066a9f22ca575d81cfc21d.tar.bz2 rails-05e1466e059a12bddd066a9f22ca575d81cfc21d.zip |
Fix deleting from a HABTM join table upon destroying an object of a model with optimistic locking enabled. Fixes #5332.
Diffstat (limited to 'activerecord/test/cases/locking_test.rb')
-rw-r--r-- | activerecord/test/cases/locking_test.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/activerecord/test/cases/locking_test.rb b/activerecord/test/cases/locking_test.rb index 015a3ccefd..c74986eb69 100644 --- a/activerecord/test/cases/locking_test.rb +++ b/activerecord/test/cases/locking_test.rb @@ -20,7 +20,7 @@ class ReadonlyNameShip < Ship end class OptimisticLockingTest < ActiveRecord::TestCase - fixtures :people, :legacy_things, :references, :string_key_objects + fixtures :people, :legacy_things, :references, :string_key_objects, :peoples_treasures def test_non_integer_lock_existing s1 = StringKeyObject.find("record1") @@ -267,6 +267,16 @@ class SetLockingColumnTest < ActiveRecord::TestCase assert_equal "omg", k.original_locking_column end end + + def test_removing_has_and_belongs_to_many_associations_upon_destroy + p = RichPerson.create! + p.treasures.create! + assert !p.treasures.empty? + p.destroy + assert p.treasures.empty? + assert RichPerson.connection.select_all("SELECT * FROM peoples_treasures WHERE rich_person_id = 1").empty? + end + end class OptimisticLockingWithSchemaChangeTest < ActiveRecord::TestCase |