aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/persistence_test.rb
diff options
context:
space:
mode:
authorBogdan Gusiev <agresso@gmail.com>2015-10-03 16:36:49 +0300
committerBogdan Gusiev <agresso@gmail.com>2015-10-05 15:13:04 +0300
commit85a1c025081faf8af8a065e39ee764caebf4054b (patch)
tree64039ea2d163272044d01a96b4ff85c361512fb3 /activerecord/test/cases/persistence_test.rb
parent210f33c477e950ad44e66b47da794469ce3b5e64 (diff)
downloadrails-85a1c025081faf8af8a065e39ee764caebf4054b.tar.gz
rails-85a1c025081faf8af8a065e39ee764caebf4054b.tar.bz2
rails-85a1c025081faf8af8a065e39ee764caebf4054b.zip
Make #increment! and #decrement! methods concurency safe
Diffstat (limited to 'activerecord/test/cases/persistence_test.rb')
-rw-r--r--activerecord/test/cases/persistence_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/test/cases/persistence_test.rb b/activerecord/test/cases/persistence_test.rb
index 7f14082a9a..31686bde3f 100644
--- a/activerecord/test/cases/persistence_test.rb
+++ b/activerecord/test/cases/persistence_test.rb
@@ -120,6 +120,15 @@ class PersistenceTest < ActiveRecord::TestCase
assert_equal 59, accounts(:signals37, :reload).credit_limit
end
+ def test_increment_updates_counter_in_db_using_offset
+ a1 = accounts(:signals37)
+ initial_credit = a1.credit_limit
+ a2 = Account.find(accounts(:signals37).id)
+ a1.increment!(:credit_limit)
+ a2.increment!(:credit_limit)
+ assert_equal initial_credit + 2, a1.reload.credit_limit
+ end
+
def test_destroy_all
conditions = "author_name = 'Mary'"
topics_by_mary = Topic.all.merge!(:where => conditions, :order => 'id').to_a