mirror of
https://github.com/redmine/redmine.git
synced 2025-11-13 00:36:01 +01:00
Gantt: do not ignore project filter (#7000, #7352), do not display empty projects/versions, and display shared versions used in other projects (#5817, #6476, #6604).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5077 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# redMine - project management software
|
||||
# Copyright (C) 2006-2008 Jean-Philippe Lang
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@@ -95,15 +95,9 @@ class Redmine::Helpers::GanttTest < ActiveSupport::TestCase
|
||||
setup do
|
||||
create_gantt
|
||||
end
|
||||
|
||||
should "clear the @query.project so cross-project issues and versions can be counted" do
|
||||
assert @gantt.query.project
|
||||
@gantt.number_of_rows_on_project(@project)
|
||||
assert_nil @gantt.query.project
|
||||
end
|
||||
|
||||
should "count 1 for the project itself" do
|
||||
assert_equal 1, @gantt.number_of_rows_on_project(@project)
|
||||
should "count 0 for an empty the project" do
|
||||
assert_equal 0, @gantt.number_of_rows_on_project(@project)
|
||||
end
|
||||
|
||||
should "count the number of issues without a version" do
|
||||
@@ -111,12 +105,6 @@ class Redmine::Helpers::GanttTest < ActiveSupport::TestCase
|
||||
assert_equal 2, @gantt.number_of_rows_on_project(@project)
|
||||
end
|
||||
|
||||
should "count the number of versions" do
|
||||
@project.versions << Version.generate!
|
||||
@project.versions << Version.generate!
|
||||
assert_equal 3, @gantt.number_of_rows_on_project(@project)
|
||||
end
|
||||
|
||||
should "count the number of issues on versions, including cross-project" do
|
||||
version = Version.generate!
|
||||
@project.versions << version
|
||||
@@ -124,21 +112,6 @@ class Redmine::Helpers::GanttTest < ActiveSupport::TestCase
|
||||
|
||||
assert_equal 3, @gantt.number_of_rows_on_project(@project)
|
||||
end
|
||||
|
||||
should "recursive and count the number of rows on each subproject" do
|
||||
@project.versions << Version.generate! # +1
|
||||
|
||||
@subproject = Project.generate!(:enabled_module_names => ['issue_tracking']) # +1
|
||||
@subproject.set_parent!(@project)
|
||||
@subproject.issues << Issue.generate_for_project!(@subproject) # +1
|
||||
@subproject.issues << Issue.generate_for_project!(@subproject) # +1
|
||||
|
||||
@subsubproject = Project.generate!(:enabled_module_names => ['issue_tracking']) # +1
|
||||
@subsubproject.set_parent!(@subproject)
|
||||
@subsubproject.issues << Issue.generate_for_project!(@subsubproject) # +1
|
||||
|
||||
assert_equal 7, @gantt.number_of_rows_on_project(@project) # +1 for self
|
||||
end
|
||||
end
|
||||
|
||||
# TODO: more of an integration test
|
||||
@@ -183,6 +156,18 @@ class Redmine::Helpers::GanttTest < ActiveSupport::TestCase
|
||||
@response.body = @gantt.subjects
|
||||
assert_select "div.version-name[style*=left:24px]"
|
||||
end
|
||||
|
||||
context "without assigned issues" do
|
||||
setup do
|
||||
@version = Version.generate!(:effective_date => 2.week.from_now.to_date, :sharing => 'none', :name => 'empty_version')
|
||||
@project.versions << @version
|
||||
end
|
||||
|
||||
should "not be rendered" do
|
||||
@response.body = @gantt.subjects
|
||||
assert_select "div.version-name a", :text => /#{@version.name}/, :count => 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "issue" do
|
||||
@@ -196,6 +181,31 @@ class Redmine::Helpers::GanttTest < ActiveSupport::TestCase
|
||||
assert_select "div.issue-subject[style*=left:44px]"
|
||||
end
|
||||
|
||||
context "assigned to a shared version of another project" do
|
||||
setup do
|
||||
p = Project.generate!
|
||||
p.trackers << @tracker
|
||||
p.enabled_module_names = [:issue_tracking]
|
||||
@shared_version = Version.generate!(:sharing => 'system')
|
||||
p.versions << @shared_version
|
||||
# Reassign the issue to a shared version of another project
|
||||
|
||||
@issue = Issue.generate!(:fixed_version => @shared_version,
|
||||
:subject => "gantt#assigned_to_shared_version",
|
||||
:tracker => @tracker,
|
||||
:project => @project,
|
||||
:done_ratio => 30,
|
||||
:start_date => Date.yesterday,
|
||||
:due_date => 1.week.from_now.to_date)
|
||||
@project.issues << @issue
|
||||
end
|
||||
|
||||
should "be rendered" do
|
||||
@response.body = @gantt.subjects
|
||||
assert_select "div.issue-subject", /#{@issue.subject}/
|
||||
end
|
||||
end
|
||||
|
||||
context "with subtasks" do
|
||||
setup do
|
||||
attrs = {:project => @project, :tracker => @tracker, :fixed_version => @version}
|
||||
|
||||
Reference in New Issue
Block a user