summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2023-08-31 13:21:34 +0000
committerGo MAEDA <maeda@farend.jp>2023-08-31 13:21:34 +0000
commitfe9ef2fc27189d2d3c2ef7726c15e7c2a712cefa (patch)
treed1a22c1532e80225e8832ca6534f1d19eee215ec /test
parent2415c9f5d780c3b47e5b76cbd6207f361facb026 (diff)
downloadredmine-fe9ef2fc27189d2d3c2ef7726c15e7c2a712cefa.tar.gz
redmine-fe9ef2fc27189d2d3c2ef7726c15e7c2a712cefa.zip
Add description for issue statuses and display them in issue new/edit form (#2568).
Patch by Takenori TAKAKI. git-svn-id: https://svn.redmine.org/redmine/trunk@22288 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/issue_statuses.yml5
-rw-r--r--test/functional/issue_statuses_controller_test.rb10
-rw-r--r--test/functional/issues_controller_test.rb43
-rw-r--r--test/integration/api_test/issue_statuses_test.rb2
-rw-r--r--test/unit/issue_status_test.rb5
5 files changed, 62 insertions, 3 deletions
diff --git a/test/fixtures/issue_statuses.yml b/test/fixtures/issue_statuses.yml
index 56a58f20a..31a01d77b 100644
--- a/test/fixtures/issue_statuses.yml
+++ b/test/fixtures/issue_statuses.yml
@@ -2,21 +2,24 @@
issue_statuses_001:
id: 1
name: New
+ description: Description for New issue status
is_closed: false
position: 1
issue_statuses_002:
id: 2
name: Assigned
+ description: Description for Assigned issue status
is_closed: false
position: 2
issue_statuses_003:
id: 3
name: Resolved
+ description: Description for Resolved issue status
is_closed: false
position: 3
issue_statuses_004:
- name: Feedback
id: 4
+ name: Feedback
is_closed: false
position: 4
issue_statuses_005:
diff --git a/test/functional/issue_statuses_controller_test.rb b/test/functional/issue_statuses_controller_test.rb
index b6a3dfab0..3ab88c614 100644
--- a/test/functional/issue_statuses_controller_test.rb
+++ b/test/functional/issue_statuses_controller_test.rb
@@ -64,6 +64,7 @@ class IssueStatusesControllerTest < Redmine::ControllerTest
get :new
assert_response :success
assert_select 'input[name=?]', 'issue_status[name]'
+ assert_select 'textarea[name=?]', 'issue_status[description]'
end
def test_create
@@ -72,7 +73,8 @@ class IssueStatusesControllerTest < Redmine::ControllerTest
:create,
:params => {
:issue_status => {
- :name => 'New status'
+ :name => 'New status',
+ :description => 'New status description'
}
}
)
@@ -80,6 +82,7 @@ class IssueStatusesControllerTest < Redmine::ControllerTest
assert_redirected_to :action => 'index'
status = IssueStatus.order('id DESC').first
assert_equal 'New status', status.name
+ assert_equal 'New status description', status.description
end
def test_create_with_failure
@@ -99,6 +102,7 @@ class IssueStatusesControllerTest < Redmine::ControllerTest
get(:edit, :params => {:id => '3'})
assert_response :success
assert_select 'input[name=?][value=?]', 'issue_status[name]', 'Resolved'
+ assert_select 'textarea[name=?]', 'issue_status[description]', 'Description for Resolved issue status'
end
def test_update
@@ -107,13 +111,15 @@ class IssueStatusesControllerTest < Redmine::ControllerTest
:params => {
:id => '3',
:issue_status => {
- :name => 'Renamed status'
+ :name => 'Renamed status',
+ :description => 'Renamed status description'
}
}
)
assert_redirected_to :action => 'index'
status = IssueStatus.find(3)
assert_equal 'Renamed status', status.name
+ assert_equal 'Renamed status description', status.description
end
def test_update_with_failure
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index e0da28e22..d572a1f80 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -3881,6 +3881,49 @@ class IssuesControllerTest < Redmine::ControllerTest
assert_select 'div#trackers_description', 0
end
+ def test_get_new_should_show_issue_status_description
+ @request.session[:user_id] = 2
+ get :new, :params => {
+ :project_id => 1,
+ :issue => {
+ :status_id => 2
+ }
+ }
+ assert_response :success
+
+ assert_select 'form#issue-form' do
+ assert_select 'a[title=?]', 'View all issue statuses description', :text => 'View all issue statuses description'
+ assert_select 'select[name=?][title=?]', 'issue[status_id]', 'Description for Assigned issue status'
+ end
+
+ assert_select 'div#issue_statuses_description' do
+ assert_select 'h3', :text => 'Issue statuses description', :count => 1
+ assert_select 'dt', 2
+ assert_select 'dt', :text => 'New', :count => 1
+ assert_select 'dd', :text => 'Description for New issue status', :count => 1
+ end
+ end
+
+ def test_get_new_should_not_show_issue_status_description
+ IssueStatus.update_all(:description => '')
+
+ @request.session[:user_id] = 2
+ get :new, :params => {
+ :project_id => 1,
+ :issue => {
+ :status_id => 2
+ }
+ }
+ assert_response :success
+
+ assert_select 'form#issue-form' do
+ assert_select 'a[title=?]', 'View all issue statuses description', 0
+ assert_select 'select[name=?][title=?]', 'issue[status_id]', ''
+ end
+
+ assert_select 'div#issue_statuses_description', 0
+ end
+
def test_get_new_should_show_create_and_follow_button_when_issue_is_subtask_and_back_url_is_present
@request.session[:user_id] = 2
get :new, params: {
diff --git a/test/integration/api_test/issue_statuses_test.rb b/test/integration/api_test/issue_statuses_test.rb
index c92ba55a9..7e7de65ac 100644
--- a/test/integration/api_test/issue_statuses_test.rb
+++ b/test/integration/api_test/issue_statuses_test.rb
@@ -29,6 +29,8 @@ class Redmine::ApiTest::IssueStatusesTest < Redmine::ApiTest::Base
assert_equal 'application/xml', @response.media_type
assert_select 'issue_statuses[type=array] issue_status id', :text => '2' do
assert_select '~ name', :text => 'Assigned'
+ assert_select '~ is_closed', :text => 'false'
+ assert_select '~ description', :text => 'Description for Assigned issue status'
end
end
end
diff --git a/test/unit/issue_status_test.rb b/test/unit/issue_status_test.rb
index 3d2366886..25514d8e1 100644
--- a/test/unit/issue_status_test.rb
+++ b/test/unit/issue_status_test.rb
@@ -151,4 +151,9 @@ class IssueStatusTest < ActiveSupport::TestCase
assert !issue.closed?
assert_nil issue.closed_on
end
+
+ def test_issue_status_should_have_description
+ issue_status = IssueStatus.find(1)
+ assert_equal 'Description for New issue status', issue_status.description
+ end
end