Defect #33576 » fix-33576-v2.patch
| app/models/issue.rb | ||
|---|---|---|
| 1731 | 1731 |
if children.any? |
| 1732 | 1732 |
child_with_total_estimated_hours = children.select {|c| c.total_estimated_hours.to_f > 0.0}
|
| 1733 | 1733 |
if child_with_total_estimated_hours.any? |
| 1734 |
average = child_with_total_estimated_hours.map(&:total_estimated_hours).sum.to_f / child_with_total_estimated_hours.count
|
|
| 1734 |
average = child_with_total_estimated_hours.map(&:total_estimated_hours).sum.to_d / child_with_total_estimated_hours.count
|
|
| 1735 | 1735 |
else |
| 1736 |
average = 1.0 |
|
| 1736 |
average = 1.0.to_d
|
|
| 1737 | 1737 |
end |
| 1738 | 1738 |
done = children.map {|c|
|
| 1739 |
estimated = c.total_estimated_hours.to_f
|
|
| 1739 |
estimated = c.total_estimated_hours.to_d
|
|
| 1740 | 1740 |
estimated = average unless estimated > 0.0 |
| 1741 | 1741 |
ratio = c.closed? ? 100 : (c.done_ratio || 0) |
| 1742 | 1742 |
estimated * ratio |
| test/unit/issue_subtasking_test.rb | ||
|---|---|---|
| 217 | 217 |
end |
| 218 | 218 |
end |
| 219 | 219 | |
| 220 |
def test_parent_done_ratio_with_completed_children_should_not_be_99 |
|
| 221 |
with_settings :parent_issue_done_ratio => 'derived' do |
|
| 222 |
parent = Issue.generate! |
|
| 223 |
parent.generate_child!(:estimated_hours => 8.0, :done_ratio => 100) |
|
| 224 |
parent.generate_child!(:estimated_hours => 8.1, :done_ratio => 100) |
|
| 225 |
# (8.0 * 100 + 8.1 * 100) / (8.0 + 8.1) => 99.99999999999999 |
|
| 226 |
assert_equal 100, parent.reload.done_ratio |
|
| 227 |
end |
|
| 228 |
end |
|
| 229 | ||
| 220 | 230 |
def test_done_ratio_of_parent_with_a_child_without_estimated_time_should_not_exceed_100 |
| 221 | 231 |
with_settings :parent_issue_done_ratio => 'derived' do |
| 222 | 232 |
parent = Issue.generate! |
- « Previous
- 1
- 2
- 3
- Next »