aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/transactions_test.rb
diff options
context:
space:
mode:
authorArthur Neves <arthurnn@gmail.com>2014-07-28 13:25:19 -0400
committerArthur Neves <arthurnn@gmail.com>2014-07-28 13:51:59 -0400
commitd37bcc1d5a781687384fbe632a1850ab218ccbfd (patch)
tree98013f3ab9cb41f6903f6c1b8ac0b1c7de718969 /activerecord/test/cases/transactions_test.rb
parent97bb76dc288d998a684b17a09d79708e2e4b584a (diff)
downloadrails-d37bcc1d5a781687384fbe632a1850ab218ccbfd.tar.gz
rails-d37bcc1d5a781687384fbe632a1850ab218ccbfd.tar.bz2
rails-d37bcc1d5a781687384fbe632a1850ab218ccbfd.zip
savepoint_name should return nil for non-savepoint transactions
Also add test to assets the savepoint name
Diffstat (limited to 'activerecord/test/cases/transactions_test.rb')
-rw-r--r--activerecord/test/cases/transactions_test.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/activerecord/test/cases/transactions_test.rb b/activerecord/test/cases/transactions_test.rb
index de1f624191..f28a7b00e2 100644
--- a/activerecord/test/cases/transactions_test.rb
+++ b/activerecord/test/cases/transactions_test.rb
@@ -424,6 +424,26 @@ class TransactionTest < ActiveRecord::TestCase
end
end
+ def test_savepoints_name
+ Topic.transaction do
+ assert_nil Topic.connection.current_savepoint_name
+ assert_nil Topic.connection.current_transaction.savepoint_name
+
+ Topic.transaction(requires_new: true) do
+ assert_equal "active_record_1", Topic.connection.current_savepoint_name
+ assert_equal "active_record_1", Topic.connection.current_transaction.savepoint_name
+
+ Topic.transaction(requires_new: true) do
+ assert_equal "active_record_2", Topic.connection.current_savepoint_name
+ assert_equal "active_record_2", Topic.connection.current_transaction.savepoint_name
+ end
+
+ assert_equal "active_record_1", Topic.connection.current_savepoint_name
+ assert_equal "active_record_1", Topic.connection.current_transaction.savepoint_name
+ end
+ end
+ end
+
def test_rollback_when_commit_raises
Topic.connection.expects(:begin_db_transaction)
Topic.connection.expects(:commit_db_transaction).raises('OH NOES')