##// END OF EJS Templates
Fixed: Deleting a subtasks doesn't update parent's rgt & lft values, introduced by r5286 (#9577)....
Jean-Philippe Lang -
r7694:594074d91bd4
parent child
Show More
@@ -223,6 +223,20 class IssueNestedSetTest < ActiveSupport::TestCase
223 assert_equal [issue1.id, 1, 4], [issue1.root_id, issue1.lft, issue1.rgt]
223 assert_equal [issue1.id, 1, 4], [issue1.root_id, issue1.lft, issue1.rgt]
224 assert_equal [issue1.id, 2, 3], [issue4.root_id, issue4.lft, issue4.rgt]
224 assert_equal [issue1.id, 2, 3], [issue4.root_id, issue4.lft, issue4.rgt]
225 end
225 end
226
227 def test_destroy_child_should_update_parent
228 issue = create_issue!
229 child1 = create_issue!(:parent_issue_id => issue.id)
230 child2 = create_issue!(:parent_issue_id => issue.id)
231
232 issue.reload
233 assert_equal [issue.id, 1, 6], [issue.root_id, issue.lft, issue.rgt]
234
235 child2.reload.destroy
236
237 issue.reload
238 assert_equal [issue.id, 1, 4], [issue.root_id, issue.lft, issue.rgt]
239 end
226
240
227 def test_destroy_parent_issue_updated_during_children_destroy
241 def test_destroy_parent_issue_updated_during_children_destroy
228 parent = create_issue!
242 parent = create_issue!
@@ -444,7 +444,7 module CollectiveIdea #:nodoc:
444 # Prunes a branch off of the tree, shifting all of the elements on the right
444 # Prunes a branch off of the tree, shifting all of the elements on the right
445 # back to the left so the counts still work.
445 # back to the left so the counts still work.
446 def prune_from_tree
446 def prune_from_tree
447 return if right.nil? || left.nil? || leaf? || !self.class.exists?(id)
447 return if right.nil? || left.nil? || !self.class.exists?(id)
448
448
449 self.class.base_class.transaction do
449 self.class.base_class.transaction do
450 reload_nested_set
450 reload_nested_set
General Comments 0
You need to be logged in to leave comments. Login now