]> source.dussan.org Git - redmine.git/commitdiff
Add test for #34029.
authorMarius Balteanu <marius.balteanu@zitec.com>
Sun, 27 Mar 2022 21:30:33 +0000 (21:30 +0000)
committerMarius Balteanu <marius.balteanu@zitec.com>
Sun, 27 Mar 2022 21:30:33 +0000 (21:30 +0000)
Patch by Vincent Robert.

git-svn-id: https://svn.redmine.org/redmine/trunk@21503 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/system/issues_test.rb

index 935470e1acf7a40339afdcd6275eb71086ec413b..2476dc43eb8483d5c2806e36d49bb93db466c0ba 100644 (file)
@@ -152,6 +152,28 @@ class IssuesSystemTest < ApplicationSystemTestCase
     assert_equal 'Some description', issue.attachments.first.description
   end
 
+  def test_create_issue_with_attachment_when_user_is_not_a_member
+    set_tmp_attachments_directory
+    # Set no permission to non-member role
+    non_member_role = Role.where(:builtin => Role::BUILTIN_NON_MEMBER).first
+    non_member_role.permissions = []
+    non_member_role.save
+    # Set role "Reporter" to non-member users on project ecookbook
+    membership = Member.find_or_create_by(user_id: Group.non_member.id, project_id: 1)
+    membership.roles = [Role.find(3)] # Reporter
+    membership.save
+    log_user('someone', 'foo')
+    issue = new_record(Issue) do
+      visit '/projects/ecookbook/issues/new'
+      fill_in 'Subject', :with => 'Issue with attachment'
+      attach_file 'attachments[dummy][file]', Rails.root.join('test/fixtures/files/testfile.txt')
+      fill_in 'attachments[1][description]', :with => 'Some description'
+      click_on 'Create'
+    end
+    assert_equal 1, issue.attachments.count
+    assert_equal 'Some description', issue.attachments.first.description
+  end
+
   def test_create_issue_with_new_target_version
     log_user('jsmith', 'jsmith')