Commit 72b13cc1be8dee112337674e20f3147c31934304

Authored by Dmitriy Zaporozhets
2 parents bbca0351 3d8ecbc9

Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce

app/services/notification_service.rb
@@ -111,6 +111,7 @@ class NotificationService @@ -111,6 +111,7 @@ class NotificationService
111 111
112 # ignore gitlab service messages 112 # ignore gitlab service messages
113 return true if note.note =~ /\A_Status changed to closed_/ 113 return true if note.note =~ /\A_Status changed to closed_/
  114 + return true if note.note =~ /\A_mentioned in / && note.system == true
114 115
115 opts = { noteable_type: note.noteable_type, project_id: note.project_id } 116 opts = { noteable_type: note.noteable_type, project_id: note.project_id }
116 117
spec/services/notification_service_spec.rb
@@ -32,6 +32,7 @@ describe NotificationService do @@ -32,6 +32,7 @@ describe NotificationService do
32 describe 'Notes' do 32 describe 'Notes' do
33 context 'issue note' do 33 context 'issue note' do
34 let(:issue) { create(:issue, assignee: create(:user)) } 34 let(:issue) { create(:issue, assignee: create(:user)) }
  35 + let(:mentioned_issue) { create(:issue, assignee: issue.assignee) }
35 let(:note) { create(:note_on_issue, noteable: issue, project_id: issue.project_id, note: '@mention referenced') } 36 let(:note) { create(:note_on_issue, noteable: issue, project_id: issue.project_id, note: '@mention referenced') }
36 37
37 before do 38 before do
@@ -50,6 +51,13 @@ describe NotificationService do @@ -50,6 +51,13 @@ describe NotificationService do
50 notification.new_note(note) 51 notification.new_note(note)
51 end 52 end
52 53
  54 + it 'filters out "mentioned in" notes' do
  55 + mentioned_note = Note.create_cross_reference_note(mentioned_issue, issue, issue.author, issue.project)
  56 +
  57 + Notify.should_not_receive(:note_issue_email)
  58 + notification.new_note(mentioned_note)
  59 + end
  60 +
53 def should_email(user_id) 61 def should_email(user_id)
54 Notify.should_receive(:note_issue_email).with(user_id, note.id) 62 Notify.should_receive(:note_issue_email).with(user_id, note.id)
55 end 63 end