@@ -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