summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2023-03-02 04:36:43 +0000
committerGo MAEDA <maeda@farend.jp>2023-03-02 04:36:43 +0000
commit16f303094ddbbff44fa989891e1ee631f05402ae (patch)
tree07ac6592677d8819152970842e260e347a3cabf6 /test
parentac3826ba21d91033e22ee91313b0d3f7b8da50cf (diff)
downloadredmine-16f303094ddbbff44fa989891e1ee631f05402ae.tar.gz
redmine-16f303094ddbbff44fa989891e1ee631f05402ae.zip
Merged r22122 from trunk to 5.0-stable (#38297).
git-svn-id: https://svn.redmine.org/redmine/branches/5.0-stable@22123 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r--test/integration/issues_test.rb74
1 files changed, 74 insertions, 0 deletions
diff --git a/test/integration/issues_test.rb b/test/integration/issues_test.rb
index 3ef868b54..589b6b6b8 100644
--- a/test/integration/issues_test.rb
+++ b/test/integration/issues_test.rb
@@ -139,6 +139,80 @@ class IssuesTest < Redmine::IntegrationTest
assert_equal 0, Issue.find(1).attachments.length
end
+ def test_edit_add_attachment_form
+ log_user('jsmith', 'jsmith')
+ role = Role.find(1)
+
+ role.add_permission! :edit_issues
+ role.remove_permission! :edit_own_issues
+ role.remove_permission! :add_issue_notes
+
+ get '/issues/1'
+ assert_response :success
+ assert_select 'div#new-attachments', 1
+
+ get '/issues/1/edit'
+ assert_response :success
+ assert_select 'div#new-attachments', 1
+
+ role.remove_permission! :edit_issues
+ role.add_permission! :edit_own_issues
+ role.remove_permission! :add_issue_notes
+
+ get '/issues/1'
+ assert_response :success
+ assert_select 'div#new-attachments', 1
+
+ get '/issues/1/edit'
+ assert_response :success
+ assert_select 'div#new-attachments', 1
+
+ role.remove_permission! :edit_issues
+ role.remove_permission! :edit_own_issues
+ role.add_permission! :add_issue_notes
+
+ get '/issues/1'
+ assert_response :success
+ assert_select 'div#new-attachments', 1
+
+ get '/issues/1/edit'
+ assert_response :success
+ assert_select 'div#new-attachments', 1
+ end
+
+ def test_edit_check_permission_for_add_attachment
+ log_user('jsmith', 'jsmith')
+ role = Role.find(1)
+
+ role.remove_permission! :edit_issues
+ role.remove_permission! :edit_own_issues
+ role.add_permission! :add_issue_notes
+
+ role.permissions_all_trackers = {'view_issues' => '0', 'add_issue_notes' => '0' }
+ role.permissions_tracker_ids = {'view_issues' => ['1'], 'add_issue_notes' => ['2'] }
+ role.save!
+
+ assert_no_difference 'Attachment.count' do
+ put(
+ '/issues/1',
+ :params => {
+ :issue => {:notes => 'Some notes'},
+ :attachments => {
+ '1' => {
+ 'file' => uploaded_test_file('testfile.txt', 'text/plain'),
+ 'description' => 'This is an attachment'
+ }
+ }
+ }
+ )
+ end
+ assert_redirected_to '/issues/1'
+
+ follow_redirect!
+ assert_response :success
+ assert_select '.flash', '1 file(s) could not be saved.'
+ end
+
def test_next_and_previous_links_should_be_displayed_after_query_grouped_and_sorted_by_version
with_settings :default_language => 'en' do
get '/projects/ecookbook/issues?set_filter=1&group_by=fixed_version&sort=priority:desc,fixed_version,id'