summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-02-04 18:36:16 +0100
committerJames Lopez <james@jameslopez.es>2016-02-04 18:36:16 +0100
commit9b925d79c9bfcd1be46bd52e275570a1005a3a79 (patch)
tree944ea81df06b6b8979bf66baaa773966da7e60a6
parente933a50b6b8e7feec76bcc71313c14736967cd7a (diff)
downloadgitlab-ce-9b925d79c9bfcd1be46bd52e275570a1005a3a79.tar.gz
WIP - fix and spec for cross reference issue with forks
-rw-r--r--app/services/system_note_service.rb4
-rw-r--r--spec/services/system_note_service_spec.rb16
2 files changed, 18 insertions, 2 deletions
diff --git a/app/services/system_note_service.rb b/app/services/system_note_service.rb
index 1083bcec054..34b6636c39f 100644
--- a/app/services/system_note_service.rb
+++ b/app/services/system_note_service.rb
@@ -291,8 +291,8 @@ class SystemNoteService
notes = notes.where(noteable_id: noteable.id)
end
- gfm_reference = mentioner.gfm_reference(noteable.project)
- notes = notes.where(note: cross_reference_note_content(gfm_reference))
+ gfm_reference = mentioner.gfm_reference(nil)
+ notes = notes.where('note LIKE ?', "#{cross_reference_note_prefix}%#{gfm_reference}")
notes.count > 0
end
diff --git a/spec/services/system_note_service_spec.rb b/spec/services/system_note_service_spec.rb
index d3364a71022..a3d3147a79b 100644
--- a/spec/services/system_note_service_spec.rb
+++ b/spec/services/system_note_service_spec.rb
@@ -424,6 +424,22 @@ describe SystemNoteService, services: true do
to be_falsey
end
end
+
+ context 'commit from fork' do
+ let(:author2) { create(:user) }
+ let(:forked_project) { Projects::ForkService.new(project, author2).execute }
+ let(:service) { CreateCommitBuildsService.new }
+ let(:commit2) { forked_project.commit }
+
+ before do
+ described_class.cross_reference(commit0, commit2, author2)
+ end
+
+ it 'is falsey when is a fork mentioning an external issue' do
+ expect(described_class.cross_reference_exists?(commit0, commit2)).
+ to be_falsey
+ end
+ end
end
include JiraServiceHelper