@@ -1352,7 +1352,7 class Issue < ActiveRecord::Base | |||||
1352 | unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio |
|
1352 | unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio | |
1353 | leaves_count = p.leaves.count |
|
1353 | leaves_count = p.leaves.count | |
1354 | if leaves_count > 0 |
|
1354 | if leaves_count > 0 | |
1355 | average = p.leaves.average(:estimated_hours).to_f |
|
1355 | average = p.leaves.where("estimated_hours > 0").average(:estimated_hours).to_f | |
1356 | if average == 0 |
|
1356 | if average == 0 | |
1357 | average = 1 |
|
1357 | average = 1 | |
1358 | end |
|
1358 | end |
@@ -358,6 +358,18 class IssueNestedSetTest < ActiveSupport::TestCase | |||||
358 | assert_equal 12, parent.reload.estimated_hours |
|
358 | assert_equal 12, parent.reload.estimated_hours | |
359 | end |
|
359 | end | |
360 |
|
360 | |||
|
361 | def test_done_ratio_of_parent_with_a_child_with_estimated_time_at_0_should_not_exceed_100 | |||
|
362 | parent = Issue.generate! | |||
|
363 | Issue.generate!(:estimated_hours => 40, :parent_issue_id => parent.id) | |||
|
364 | Issue.generate!(:estimated_hours => 40, :parent_issue_id => parent.id) | |||
|
365 | Issue.generate!(:estimated_hours => 20, :parent_issue_id => parent.id) | |||
|
366 | Issue.generate!(:estimated_hours => 0, :parent_issue_id => parent.id) | |||
|
367 | parent.reload.children.each do |child| | |||
|
368 | child.update_attribute :status_id, 5 | |||
|
369 | end | |||
|
370 | assert_equal 100, parent.reload.done_ratio | |||
|
371 | end | |||
|
372 | ||||
361 | def test_move_parent_updates_old_parent_attributes |
|
373 | def test_move_parent_updates_old_parent_attributes | |
362 | first_parent = Issue.generate! |
|
374 | first_parent = Issue.generate! | |
363 | second_parent = Issue.generate! |
|
375 | second_parent = Issue.generate! |
General Comments 0
You need to be logged in to leave comments.
Login now