summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Artur <felipefac@gmail.com>2017-08-29 15:36:35 -0300
committerFelipe Artur <felipefac@gmail.com>2017-08-31 17:15:30 -0300
commit3e4013f21760be5522ac080669b6da9fb9118999 (patch)
tree85a464a1edae7af86dc139b953fa5be13ac790a4
parent2a8dec2c27726cd0af995de97e596eab78e6efbf (diff)
downloadgitlab-ce-issue_36820.tar.gz
Remove closing external issues by reference errorissue_36820
-rw-r--r--app/models/merge_request.rb2
-rw-r--r--changelogs/unreleased/issue_36820.yml5
-rw-r--r--spec/models/merge_request_spec.rb2
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