summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorRenato "Lond" Cerqueira <renato@lond.com.br>2018-01-18 16:12:10 +0100
committerEugen Rochko <eugen@zeonfederated.com>2018-01-18 16:12:10 +0100
commite56404be414ff2fc7ff11171fdd2b31a0658aa11 (patch)
treeb1fcff9cdf6f054506ef76dd1142ed8b79e4362a /spec
parent7badad7797b487b411a2ab34e0f7413741974bb4 (diff)
When must_be_following_dm is on, only notify if recipient dm'ed user (#6283)
* When must_be_following_dm is on, only notify if recipient dm'ed user Currently, when must_be_following_dm is on, if a user sends a direct message replying to any status from the recipient, the recipient gets a notification. This should not be the case, as if the recipient posted something publicly this can be used to spam their notifications. * Refactor replied_to_status_is_direct_message? Following suggestion in PR
Diffstat (limited to 'spec')
-rw-r--r--spec/services/notify_service_spec.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/spec/services/notify_service_spec.rb b/spec/services/notify_service_spec.rb
index eb6210a1e78..abe557cf382 100644
--- a/spec/services/notify_service_spec.rb
+++ b/spec/services/notify_service_spec.rb
@@ -62,10 +62,19 @@ RSpec.describe NotifyService do
is_expected.to_not change(Notification, :count)
end
- context 'if the message chain initiated by recipient' do
+ context 'if the message chain initiated by recipient, but is not direct message' do
let(:reply_to) { Fabricate(:status, account: recipient) }
let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) }
+ it 'does not notify' do
+ is_expected.to_not change(Notification, :count)
+ end
+ end
+
+ context 'if the message chain initiated by recipient and is direct message' do
+ let(:reply_to) { Fabricate(:status, account: recipient, visibility: :direct) }
+ let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) }
+
it 'does notify' do
is_expected.to change(Notification, :count)
end