summaryrefslogtreecommitdiffstats
path: root/test/functional
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2017-05-27 08:34:41 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2017-05-27 08:34:41 +0000
commit86fa4e66c9971dd7f399bba18798792550402706 (patch)
tree31918ddb3814474754b92e2c50e0feff766f6f83 /test/functional
parent8ba7b6a2b21cdabf9c629330b4e1919e61e279e2 (diff)
downloadredmine-86fa4e66c9971dd7f399bba18798792550402706.tar.gz
redmine-86fa4e66c9971dd7f399bba18798792550402706.zip
Check tracker permissions when copying an issue (#25791).
git-svn-id: http://svn.redmine.org/redmine/trunk@16569 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/issues_controller_test.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index dacbd370e..49aeb08d0 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -3109,6 +3109,22 @@ class IssuesControllerTest < Redmine::ControllerTest
assert_equal 1, issue.status_id
end
+ def test_create_as_copy_should_fail_without_add_issue_permission_on_original_tracker
+ role = Role.find(2)
+ role.set_permission_trackers :add_issues, [1, 3]
+ role.save!
+ Role.non_member.remove_permission! :add_issues
+
+ issue = Issue.generate!(:project_id => 1, :tracker_id => 2)
+ @request.session[:user_id] = 3
+
+ assert_no_difference 'Issue.count' do
+ post :create, :project_id => 1, :copy_from => issue.id,
+ :issue => {:project_id => '1'}
+ end
+ assert_select_error 'Tracker is invalid'
+ end
+
def test_create_as_copy_should_copy_attachments
@request.session[:user_id] = 2
issue = Issue.find(3)