Merge branch 'fix-bulk-assign-issues-for-external-issues' into 'master'

Ignore external issues when bulk assigning issues to author of merge request.

Fixes #23552

See merge request !7020
This commit is contained in:
Sean McGivern 2016-10-21 15:15:33 +00:00
commit 6ff3625f63
2 changed files with 13 additions and 1 deletions

View File

@ -4,7 +4,7 @@ module MergeRequests
@assignable_issues ||= begin
if current_user == merge_request.author
closes_issues.select do |issue|
!issue.assignee_id? && can?(current_user, :admin_issue, issue)
!issue.is_a?(ExternalIssue) && !issue.assignee_id? && can?(current_user, :admin_issue, issue)
end
else
[]

View File

@ -46,4 +46,16 @@ describe MergeRequests::AssignIssuesService, services: true do
it 'assigns these to the merge request owner' do
expect { service.execute }.to change { issue.reload.assignee }.to(user)
end
it 'ignores external issues' do
external_issue = ExternalIssue.new('JIRA-123', project)
service = described_class.new(
project,
user,
merge_request: merge_request,
closes_issues: [external_issue]
)
expect(service.assignable_issues.count).to eq 0
end
end