##// END OF EJS Templates
When copying issues, let the status be changed to default or left unchanged....
When copying issues, let the status be changed to default or left unchanged. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9404 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r8105:a6f651137250
r9270:09375960d69d
Show More
issue_status_test.rb
114 lines | 4.4 KiB | text/x-ruby | RubyLexer
/ test / unit / issue_status_test.rb
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627 #
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627 #
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class IssueStatusTest < ActiveSupport::TestCase
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 fixtures :issue_statuses, :issues, :roles, :trackers
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194
def test_create
status = IssueStatus.new :name => "Assigned"
assert !status.save
# status name uniqueness
assert_equal 1, status.errors.count
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 status.name = "Test Status"
assert status.save
assert !status.is_default
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Eric Davis
Added tests to cover IssueStatus.destroy and IssueStatus.check_integrity...
r1921 def test_destroy
status = IssueStatus.find(3)
Jean-Philippe Lang
Fixed: Deleting statuses doesn't delete all workflow entries (#5811)....
r3767 assert_difference 'IssueStatus.count', -1 do
assert status.destroy
end
assert_nil Workflow.first(:conditions => {:old_status_id => status.id})
assert_nil Workflow.first(:conditions => {:new_status_id => status.id})
Eric Davis
Added tests to cover IssueStatus.destroy and IssueStatus.check_integrity...
r1921 end
def test_destroy_status_in_use
# Status assigned to an Issue
status = Issue.find(1).status
assert_raise(RuntimeError, "Can't delete status") { status.destroy }
end
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 def test_default
status = IssueStatus.default
assert_kind_of IssueStatus, status
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 def test_change_default
status = IssueStatus.find(2)
assert !status.is_default
status.is_default = true
assert status.save
status.reload
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 assert_equal status, IssueStatus.default
assert !IssueStatus.find(1).is_default
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
Fixed: the default status is lost when reordering issue statuses (#1955)....
r1909 def test_reorder_should_not_clear_default_status
status = IssueStatus.default
status.move_to_bottom
status.reload
assert status.is_default?
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 def test_new_statuses_allowed_to
Workflow.delete_all
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 Workflow.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 2, :author => false, :assignee => false)
Workflow.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 3, :author => true, :assignee => false)
Workflow.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 4, :author => false, :assignee => true)
Workflow.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 5, :author => true, :assignee => true)
status = IssueStatus.find(1)
role = Role.find(1)
tracker = Tracker.find(1)
assert_equal [2], status.new_statuses_allowed_to([role], tracker, false, false).map(&:id)
assert_equal [2], status.find_new_statuses_allowed_to([role], tracker, false, false).map(&:id)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
Fixed: additional workflow transitions not available when set to both author and assignee (#8836)....
r6180 assert_equal [2, 3, 5], status.new_statuses_allowed_to([role], tracker, true, false).map(&:id)
assert_equal [2, 3, 5], status.find_new_statuses_allowed_to([role], tracker, true, false).map(&:id)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
Fixed: additional workflow transitions not available when set to both author and assignee (#8836)....
r6180 assert_equal [2, 4, 5], status.new_statuses_allowed_to([role], tracker, false, true).map(&:id)
assert_equal [2, 4, 5], status.find_new_statuses_allowed_to([role], tracker, false, true).map(&:id)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 assert_equal [2, 3, 4, 5], status.new_statuses_allowed_to([role], tracker, true, true).map(&:id)
assert_equal [2, 3, 4, 5], status.find_new_statuses_allowed_to([role], tracker, true, true).map(&:id)
end
Eric Davis
Adds a Setting to control how an Issue's done_ratio is calculated:...
r3037
Jean-Philippe Lang
Do not change settings in tests....
r8105 def test_update_done_ratios_with_issue_done_ratio_set_to_issue_field_should_change_nothing
IssueStatus.find(1).update_attribute(:default_done_ratio, 50)
Eric Davis
Adds a Setting to control how an Issue's done_ratio is calculated:...
r3037
Jean-Philippe Lang
Do not change settings in tests....
r8105 with_settings :issue_done_ratio => 'issue_field' do
IssueStatus.update_issue_done_ratios
assert_equal 0, Issue.count(:conditions => {:done_ratio => 50})
Eric Davis
Adds a Setting to control how an Issue's done_ratio is calculated:...
r3037 end
Jean-Philippe Lang
Do not change settings in tests....
r8105 end
Eric Davis
Adds a Setting to control how an Issue's done_ratio is calculated:...
r3037
Jean-Philippe Lang
Do not change settings in tests....
r8105 def test_update_done_ratios_with_issue_done_ratio_set_to_issue_status_should_update_issues
IssueStatus.find(1).update_attribute(:default_done_ratio, 50)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/issue_status_test.rb....
r6627
Jean-Philippe Lang
Do not change settings in tests....
r8105 with_settings :issue_done_ratio => 'issue_status' do
IssueStatus.update_issue_done_ratios
issues = Issue.all(:conditions => {:status_id => 1})
assert_equal [50], issues.map {|issue| issue.read_attribute(:done_ratio)}.uniq
Eric Davis
Adds a Setting to control how an Issue's done_ratio is calculated:...
r3037 end
end
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 end