summaryrefslogtreecommitdiffstats
path: root/test/unit
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/issue_nested_set_concurrency_test.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/unit/issue_nested_set_concurrency_test.rb b/test/unit/issue_nested_set_concurrency_test.rb
index b7f3cac13..0c3f9e6a8 100644
--- a/test/unit/issue_nested_set_concurrency_test.rb
+++ b/test/unit/issue_nested_set_concurrency_test.rb
@@ -59,6 +59,21 @@ class IssueNestedSetConcurrencyTest < ActiveSupport::TestCase
end
end
+ def test_concurrent_subtasks_creation
+ root = Issue.generate!
+ assert_difference 'Issue.count', 30 do
+ threaded(3) do
+ 10.times do
+ Issue.generate! :parent_issue_id => root.id
+ end
+ end
+ end
+ root.reload
+ assert_equal [1, 62], [root.lft, root.rgt]
+ children_bounds = root.children.sort_by(&:lft).map {|c| [c.lft, c.rgt]}.flatten
+ assert_equal (2..61).to_a, children_bounds
+ end
+
private
def threaded(count, &block)