From c9fdd5d3cb470e82b2cf457a022f034c0bda7e39 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Fri, 30 Oct 2015 19:11:25 +0000 Subject: [PATCH] Don't send note comment notifications to deleted users --- app/controllers/notes_controller.rb | 2 +- test/controllers/notes_controller_test.rb | 14 +++++++------- test/fixtures/note_comments.yml | 18 ++++++++++++++++++ 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/app/controllers/notes_controller.rb b/app/controllers/notes_controller.rb index 59dd025e8..e73b2ba03 100644 --- a/app/controllers/notes_controller.rb +++ b/app/controllers/notes_controller.rb @@ -350,7 +350,7 @@ class NotesController < ApplicationController comment = note.comments.create(attributes) note.comments.map(&:author).uniq.each do |user| - if notify && user && user != @user + if notify && user && user != @user && user.visible? Notifier.note_comment_notification(comment, user).deliver_now end end diff --git a/test/controllers/notes_controller_test.rb b/test/controllers/notes_controller_test.rb index 5cdcbb31d..bad1e5f1b 100644 --- a/test/controllers/notes_controller_test.rb +++ b/test/controllers/notes_controller_test.rb @@ -225,7 +225,7 @@ class NotesControllerTest < ActionController::TestCase assert_equal "Feature", js["type"] assert_equal notes(:open_note_with_comment).id, js["properties"]["id"] assert_equal "open", js["properties"]["status"] - assert_equal 3, js["properties"]["comments"].count + assert_equal 5, js["properties"]["comments"].count assert_equal "commented", js["properties"]["comments"].last["action"] assert_equal "This is an additional comment", js["properties"]["comments"].last["text"] assert_nil js["properties"]["comments"].last["user"] @@ -237,7 +237,7 @@ class NotesControllerTest < ActionController::TestCase assert_equal "Feature", js["type"] assert_equal notes(:open_note_with_comment).id, js["properties"]["id"] assert_equal "open", js["properties"]["status"] - assert_equal 3, js["properties"]["comments"].count + assert_equal 5, js["properties"]["comments"].count assert_equal "commented", js["properties"]["comments"].last["action"] assert_equal "This is an additional comment", js["properties"]["comments"].last["text"] assert_nil js["properties"]["comments"].last["user"] @@ -371,7 +371,7 @@ class NotesControllerTest < ActionController::TestCase assert_equal "Feature", js["type"] assert_equal notes(:open_note_with_comment).id, js["properties"]["id"] assert_equal "closed", js["properties"]["status"] - assert_equal 3, js["properties"]["comments"].count + assert_equal 5, js["properties"]["comments"].count assert_equal "closed", js["properties"]["comments"].last["action"] assert_equal "This is a close comment", js["properties"]["comments"].last["text"] assert_equal "test2", js["properties"]["comments"].last["user"] @@ -383,7 +383,7 @@ class NotesControllerTest < ActionController::TestCase assert_equal "Feature", js["type"] assert_equal notes(:open_note_with_comment).id, js["properties"]["id"] assert_equal "closed", js["properties"]["status"] - assert_equal 3, js["properties"]["comments"].count + assert_equal 5, js["properties"]["comments"].count assert_equal "closed", js["properties"]["comments"].last["action"] assert_equal "This is a close comment", js["properties"]["comments"].last["text"] assert_equal "test2", js["properties"]["comments"].last["user"] @@ -562,7 +562,7 @@ class NotesControllerTest < ActionController::TestCase assert_equal "Feature", js["type"] assert_equal notes(:open_note_with_comment).id, js["properties"]["id"] assert_equal "hidden", js["properties"]["status"] - assert_equal 3, js["properties"]["comments"].count + assert_equal 5, js["properties"]["comments"].count assert_equal "hidden", js["properties"]["comments"].last["action"] assert_equal "This is a hide comment", js["properties"]["comments"].last["text"] assert_equal "moderator", js["properties"]["comments"].last["user"] @@ -841,7 +841,7 @@ class NotesControllerTest < ActionController::TestCase assert_equal "application/rss+xml", @response.content_type assert_select "rss", :count => 1 do assert_select "channel", :count => 1 do - assert_select "item", :count => 8 + assert_select "item", :count => 10 end end @@ -850,7 +850,7 @@ class NotesControllerTest < ActionController::TestCase assert_equal "application/rss+xml", @response.content_type assert_select "rss", :count => 1 do assert_select "channel", :count => 1 do - assert_select "item", :count => 3 + assert_select "item", :count => 5 end end end diff --git a/test/fixtures/note_comments.yml b/test/fixtures/note_comments.yml index c3c568c25..c4b998cad 100644 --- a/test/fixtures/note_comments.yml +++ b/test/fixtures/note_comments.yml @@ -122,3 +122,21 @@ t14: created_at: 2007-02-01 00:00:00 author_id: 4 body: 'A comment description' + +t15: + id: 15 + note_id: 2 + visible: true + event: opened + created_at: 2007-01-01 00:00:00 + author_id: 10 + body: 'This is a note with from a suspended user' + +t16: + id: 16 + note_id: 2 + visible: true + event: opened + created_at: 2007-01-01 00:00:00 + author_id: 11 + body: 'This is a note with from a deleted user' -- 2.43.2