Skip to content

Commit 0267224

Browse files
prathamesh-sonpatkikares
authored andcommitted
Added failing test for multiple savepoints
1 parent 3f1aa84 commit 0267224

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

test/db/sqlite3/transaction_test.rb

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,49 @@ def test_supports_savepoints
4444
assert_true ActiveRecord::Base.connection.supports_savepoints?
4545
end
4646

47+
def test_many_savepoints
48+
@first = Entry.create
49+
Entry.transaction do
50+
@first.content = "One"
51+
@first.save!
52+
53+
begin
54+
Entry.transaction :requires_new => true do
55+
@first.content = "Two"
56+
@first.save!
57+
58+
begin
59+
Entry.transaction :requires_new => true do
60+
@first.content = "Three"
61+
@first.save!
62+
63+
begin
64+
Entry.transaction :requires_new => true do
65+
@first.content = "Four"
66+
@first.save!
67+
raise
68+
end
69+
rescue
70+
end
71+
72+
@three = @first.reload.content
73+
raise
74+
end
75+
rescue
76+
end
77+
78+
@two = @first.reload.content
79+
raise
80+
end
81+
rescue
82+
end
83+
84+
@one = @first.reload.content
85+
end
86+
87+
assert_equal "One", @one
88+
assert_equal "Two", @two
89+
assert_equal "Three", @three
90+
end
91+
4792
end

0 commit comments

Comments
 (0)