diff options
author | Go MAEDA <maeda@farend.jp> | 2023-08-31 13:21:34 +0000 |
---|---|---|
committer | Go MAEDA <maeda@farend.jp> | 2023-08-31 13:21:34 +0000 |
commit | fe9ef2fc27189d2d3c2ef7726c15e7c2a712cefa (patch) | |
tree | d1a22c1532e80225e8832ca6534f1d19eee215ec /test | |
parent | 2415c9f5d780c3b47e5b76cbd6207f361facb026 (diff) | |
download | redmine-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.yml | 5 | ||||
-rw-r--r-- | test/functional/issue_statuses_controller_test.rb | 10 | ||||
-rw-r--r-- | test/functional/issues_controller_test.rb | 43 | ||||
-rw-r--r-- | test/integration/api_test/issue_statuses_test.rb | 2 | ||||
-rw-r--r-- | test/unit/issue_status_test.rb | 5 |
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 |