summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2016-12-29 01:48:06 +0000
committerSean McGivern <sean@mcgivern.me.uk>2016-12-29 01:48:06 +0000
commitce6de94652239395b2cb31984b51879555323d41 (patch)
treebef7af9a84238df5cbb0ab07fdf6064e71a8c86b
parentc595b41881896e0987d66d9be8b307cfed97fd7d (diff)
parent1b647486570d61d03eebdf30651136a8d53d6e40 (diff)
downloadgitlab-ce-ce6de94652239395b2cb31984b51879555323d41.tar.gz
Merge branch 'mentioned-but-not-closed-issues-messages' into 'master'
Fix unclear closing issue behaviour on Merge Request show page Closes #26152 See merge request !8345
-rw-r--r--app/models/merge_request.rb6
-rw-r--r--changelogs/unreleased/mentioned-but-not-closed-issues-messages.yml4
-rw-r--r--spec/models/merge_request_spec.rb10
3 files changed, 12 insertions, 8 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 22490d121c7..61845bf4036 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -576,11 +576,7 @@ class MergeRequest < ActiveRecord::Base
ext = Gitlab::ReferenceExtractor.new(project, current_user)
ext.analyze(description)
- issues = ext.issues
- closing_issues = Gitlab::ClosingIssueExtractor.new(project, current_user).
- closed_by_message(description)
-
- issues - closing_issues
+ ext.issues - closes_issues
end
def target_project_path
diff --git a/changelogs/unreleased/mentioned-but-not-closed-issues-messages.yml b/changelogs/unreleased/mentioned-but-not-closed-issues-messages.yml
new file mode 100644
index 00000000000..ba3b13bcdb7
--- /dev/null
+++ b/changelogs/unreleased/mentioned-but-not-closed-issues-messages.yml
@@ -0,0 +1,4 @@
+---
+title: Fix unclear closing issue behaviour on Merge Request show page
+merge_request: 8345
+author: Gabriel Gizotti
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 5da00a8636a..646e6c6dbb3 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -283,12 +283,16 @@ describe MergeRequest, models: true do
end
describe '#issues_mentioned_but_not_closing' do
- it 'detects issues mentioned in description but not closed' do
- mentioned_issue = create(:issue, project: subject.project)
+ let(:closing_issue) { create :issue, project: subject.project }
+ let(:mentioned_issue) { create :issue, project: subject.project }
+
+ let(:commit) { double('commit', safe_message: "Fixes #{closing_issue.to_reference}") }
+ it 'detects issues mentioned in description but not closed' do
subject.project.team << [subject.author, :developer]
- subject.description = "Is related to #{mentioned_issue.to_reference}"
+ subject.description = "Is related to #{mentioned_issue.to_reference} and #{closing_issue.to_reference}"
+ allow(subject).to receive(:commits).and_return([commit])
allow(subject.project).to receive(:default_branch).
and_return(subject.target_branch)