@versions += @project.rolled_up_versions.visible if @with_subprojects
@versions = @versions.uniq.sort
unless params[:completed]
- @completed_versions = @versions.select {|version| version.closed? || version.completed? }
+ @completed_versions = @versions.select(&:completed?)
@versions -= @completed_versions
end
status == 'open'
end
- # Returns true if the version is completed: due date reached and no open issues
+ # Returns true if the version is completed: closed or due date reached and no open issues
def completed?
- effective_date && (effective_date < Date.today) && (open_issues_count == 0)
+ closed? || (effective_date && (effective_date < Date.today) && (open_issues_count == 0))
end
def behind_schedule?
assert_equal false, version.completed?
end
+ def test_completed_should_be_true_when_closed
+ version = Version.create!(:project_id => 1, :status => 'closed', :name => 'Closed')
+ assert_equal true, version.completed?
+ end
+
test "#behind_schedule? should be false if there are no issues assigned" do
version = Version.generate!(:effective_date => Date.yesterday)
assert_equal false, version.behind_schedule?