Commit 72b13cc1be8dee112337674e20f3147c31934304
Exists in
spb-stable
and in
3 other branches
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
Showing
2 changed files
with
9 additions
and
0 deletions
Show diff stats
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 | ... | ... |