Fixes calculation of version estimated hours with subtasks (#5265).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3633 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
5879273739
commit
71a4158fd0
|
@ -52,8 +52,9 @@ class Version < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns the total estimated time for this version
|
# Returns the total estimated time for this version
|
||||||
|
# (sum of leaves estimated_hours)
|
||||||
def estimated_hours
|
def estimated_hours
|
||||||
@estimated_hours ||= fixed_issues.sum(:estimated_hours).to_f
|
@estimated_hours ||= fixed_issues.leaves.sum(:estimated_hours).to_f
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns the total reported time for this version
|
# Returns the total reported time for this version
|
||||||
|
|
|
@ -105,6 +105,34 @@ class VersionTest < ActiveSupport::TestCase
|
||||||
assert_progress_equal 25.0/100.0*100, v.closed_pourcent
|
assert_progress_equal 25.0/100.0*100, v.closed_pourcent
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "#estimated_hours" do
|
||||||
|
setup do
|
||||||
|
@version = Version.create!(:project_id => 1, :name => '#estimated_hours')
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return 0 with no assigned issues" do
|
||||||
|
assert_equal 0, @version.estimated_hours
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return 0 with no estimated hours" do
|
||||||
|
add_issue(@version)
|
||||||
|
assert_equal 0, @version.estimated_hours
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return the sum of estimated hours" do
|
||||||
|
add_issue(@version, :estimated_hours => 2.5)
|
||||||
|
add_issue(@version, :estimated_hours => 5)
|
||||||
|
assert_equal 7.5, @version.estimated_hours
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return the sum of leaves estimated hours" do
|
||||||
|
parent = add_issue(@version)
|
||||||
|
add_issue(@version, :estimated_hours => 2.5, :parent_issue_id => parent.id)
|
||||||
|
add_issue(@version, :estimated_hours => 5, :parent_issue_id => parent.id)
|
||||||
|
assert_equal 7.5, @version.estimated_hours
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
test "should update all issue's fixed_version associations in case the hierarchy changed XXX" do
|
test "should update all issue's fixed_version associations in case the hierarchy changed XXX" do
|
||||||
User.current = User.find(1) # Need the admin's permissions
|
User.current = User.find(1) # Need the admin's permissions
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue