diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-09-01 09:15:40 +0000 |
---|---|---|
committer | Jose Ivan Vargas <jvargas@gitlab.com> | 2017-09-01 15:12:16 -0500 |
commit | 89d3f11703a800e22845af29db18d21dfd0ad428 (patch) | |
tree | e92a2ec0585b2da7230700aa23d8d9169957146f | |
parent | 7f2a49c538b7479479a64f35ddc707f903a6149b (diff) | |
download | gitlab-ce-89d3f11703a800e22845af29db18d21dfd0ad428.tar.gz |
Merge branch 'issue_36820' into 'master'
Remove closing external issues by reference error
Closes #36820
See merge request !13910
-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 e83b11f7668..9fc526ec3ef 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -598,6 +598,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 a1a3e70a7d2..5baa7c81ecc 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 |