diff options
author | Felipe Artur <felipefac@gmail.com> | 2017-08-29 15:36:35 -0300 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2017-08-31 17:15:30 -0300 |
commit | 3e4013f21760be5522ac080669b6da9fb9118999 (patch) | |
tree | 85a464a1edae7af86dc139b953fa5be13ac790a4 | |
parent | 2a8dec2c27726cd0af995de97e596eab78e6efbf (diff) | |
download | gitlab-ce-issue_36820.tar.gz |
Remove closing external issues by reference errorissue_36820
-rw-r--r-- | app/models/merge_request.rb | 2 | ||||
-rw-r--r-- | changelogs/unreleased/issue_36820.yml | 5 | ||||
-rw-r--r-- | spec/models/merge_request_spec.rb | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 7f73de67625..cd8006f6f5a 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -605,6 +605,8 @@ class MergeRequest < ActiveRecord::Base self.merge_requests_closing_issues.delete_all closes_issues(current_user).each do |issue| + next if issue.is_a?(ExternalIssue) + self.merge_requests_closing_issues.create!(issue: issue) end end diff --git a/changelogs/unreleased/issue_36820.yml b/changelogs/unreleased/issue_36820.yml new file mode 100644 index 00000000000..ec5fb6ac079 --- /dev/null +++ b/changelogs/unreleased/issue_36820.yml @@ -0,0 +1,5 @@ +--- +title: Remove closing external issues by reference error +merge_request: +author: +type: fixed diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 92cf15a5a51..05cf9308127 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -159,6 +159,7 @@ describe MergeRequest do before do subject.project.has_external_issue_tracker = true subject.project.save! + create(:jira_service, project: subject.project) end it 'does not cache issues from external trackers' do @@ -166,6 +167,7 @@ describe MergeRequest do commit = double('commit1', safe_message: "Fixes #{issue.to_reference}") allow(subject).to receive(:commits).and_return([commit]) + expect { subject.cache_merge_request_closes_issues!(subject.author) }.not_to raise_error expect { subject.cache_merge_request_closes_issues!(subject.author) }.not_to change(subject.merge_requests_closing_issues, :count) end |