@@ -1355,7 +1355,7 class Issue < ActiveRecord::Base | |||||
1355 | unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio |
|
1355 | unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio | |
1356 | leaves_count = p.leaves.count |
|
1356 | leaves_count = p.leaves.count | |
1357 | if leaves_count > 0 |
|
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 | if average == 0 |
|
1359 | if average == 0 | |
1360 | average = 1 |
|
1360 | average = 1 | |
1361 | end |
|
1361 | end |
@@ -368,6 +368,18 class IssueNestedSetTest < ActiveSupport::TestCase | |||||
368 | assert_equal 100, parent.reload.done_ratio |
|
368 | assert_equal 100, parent.reload.done_ratio | |
369 | end |
|
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 | def test_move_parent_updates_old_parent_attributes |
|
383 | def test_move_parent_updates_old_parent_attributes | |
372 | first_parent = Issue.generate! |
|
384 | first_parent = Issue.generate! | |
373 | second_parent = Issue.generate! |
|
385 | second_parent = Issue.generate! |
General Comments 0
You need to be logged in to leave comments.
Login now