diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-11-18 11:56:19 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-11-18 11:56:19 +0000 |
commit | e6130a1e0d95daef63db14c7ed7bcb9ff6ba35e9 (patch) | |
tree | 36c1db297ef217221083de936624de07b2963316 /test | |
parent | 25a37663651122f80cbb6252952cdcb257103366 (diff) | |
download | redmine-e6130a1e0d95daef63db14c7ed7bcb9ff6ba35e9.tar.gz redmine-e6130a1e0d95daef63db14c7ed7bcb9ff6ba35e9.zip |
Project field disappears when target project disallows user to edit the project (#24311).
git-svn-id: http://svn.redmine.org/redmine/trunk@15959 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/issues_controller_test.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index a588f6aff..cf2991e30 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -3150,6 +3150,7 @@ class IssuesControllerTest < Redmine::ControllerTest get :edit, :id => 1 assert_response :success + assert_select 'select[name=?]', 'issue[project_id]' # Be sure we don't display inactive IssuePriorities assert ! IssuePriority.find(15).active? assert_select 'select[name=?]', 'issue[priority_id]' do @@ -3157,6 +3158,25 @@ class IssuesControllerTest < Redmine::ControllerTest end end + def test_edit_should_hide_project_if_user_is_not_allowed_to_change_project + WorkflowPermission.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :field_name => 'project_id', :rule => 'readonly') + + @request.session[:user_id] = 2 + get :edit, :id => 1 + assert_response :success + assert_select 'select[name=?]', 'issue[project_id]', 0 + end + + def test_edit_should_not_hide_project_when_user_changes_the_project_even_if_project_is_readonly_on_target_project + WorkflowPermission.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :field_name => 'project_id', :rule => 'readonly') + issue = Issue.generate!(:project_id => 2) + + @request.session[:user_id] = 2 + get :edit, :id => issue.id, :issue => {:project_id => 1} + assert_response :success + assert_select 'select[name=?]', 'issue[project_id]' + end + def test_get_edit_should_display_the_time_entry_form_with_log_time_permission @request.session[:user_id] = 2 Role.find_by_name('Manager').update_attribute :permissions, [:view_issues, :edit_issues, :log_time] |