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 »