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 111  
112 112 # ignore gitlab service messages
113 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 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 32 describe 'Notes' do
33 33 context 'issue note' do
34 34 let(:issue) { create(:issue, assignee: create(:user)) }
  35 + let(:mentioned_issue) { create(:issue, assignee: issue.assignee) }
35 36 let(:note) { create(:note_on_issue, noteable: issue, project_id: issue.project_id, note: '@mention referenced') }
36 37  
37 38 before do
... ... @@ -50,6 +51,13 @@ describe NotificationService do
50 51 notification.new_note(note)
51 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 61 def should_email(user_id)
54 62 Notify.should_receive(:note_issue_email).with(user_id, note.id)
55 63 end
... ...