##// END OF EJS Templates
Fixed calculation of done_ratio of parent task with child having estimated_time at 0 (#15870)....
Jean-Philippe Lang -
r12470:888823a449d9
parent child
Show More
@@ -1355,7 +1355,7 class Issue < ActiveRecord::Base
1355 1355 unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio
1356 1356 leaves_count = p.leaves.count
1357 1357 if leaves_count > 0
1358 average = p.leaves.average(:estimated_hours).to_f
1358 average = p.leaves.where("estimated_hours > 0").average(:estimated_hours).to_f
1359 1359 if average == 0
1360 1360 average = 1
1361 1361 end
@@ -368,6 +368,18 class IssueNestedSetTest < ActiveSupport::TestCase
368 368 assert_equal 100, parent.reload.done_ratio
369 369 end
370 370
371 def test_done_ratio_of_parent_with_a_child_with_estimated_time_at_0_should_not_exceed_100
372 parent = Issue.generate!
373 Issue.generate!(:estimated_hours => 40, :parent_issue_id => parent.id)
374 Issue.generate!(:estimated_hours => 40, :parent_issue_id => parent.id)
375 Issue.generate!(:estimated_hours => 20, :parent_issue_id => parent.id)
376 Issue.generate!(:estimated_hours => 0, :parent_issue_id => parent.id)
377 parent.reload.children.each do |child|
378 child.update_attribute :status_id, 5
379 end
380 assert_equal 100, parent.reload.done_ratio
381 end
382
371 383 def test_move_parent_updates_old_parent_attributes
372 384 first_parent = Issue.generate!
373 385 second_parent = Issue.generate!
General Comments 0
You need to be logged in to leave comments. Login now