From 9b925d79c9bfcd1be46bd52e275570a1005a3a79 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Thu, 4 Feb 2016 18:36:16 +0100 Subject: [PATCH] WIP - fix and spec for cross reference issue with forks --- app/services/system_note_service.rb | 4 ++-- spec/services/system_note_service_spec.rb | 16 ++++++++++++++++ 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