mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: sending emails to mailing list subscribers wasn't working
This commit is contained in:
@@ -4,53 +4,49 @@ describe Jobs::NotifyMailingListSubscribers do
|
||||
|
||||
context "with mailing list on" do
|
||||
before { SiteSetting.stubs(:default_email_mailing_list_mode).returns(true) }
|
||||
let(:user) { Fabricate(:user) }
|
||||
|
||||
context "with mailing list on" do
|
||||
let(:user) { Fabricate(:user) }
|
||||
context "with a valid post" do
|
||||
let!(:post) { Fabricate(:post, user: user) }
|
||||
|
||||
context "with a valid post" do
|
||||
let!(:post) { Fabricate(:post, user: user) }
|
||||
|
||||
it "sends the email to the user" do
|
||||
UserNotifications.expects(:mailing_list_notify).with(user, post).once
|
||||
Jobs::NotifyMailingListSubscribers.new.execute(post_id: post.id)
|
||||
end
|
||||
it "sends the email to the user" do
|
||||
UserNotifications.expects(:mailing_list_notify).with(user, post).once
|
||||
Jobs::NotifyMailingListSubscribers.new.execute(post_id: post.id)
|
||||
end
|
||||
|
||||
context "with a deleted post" do
|
||||
let!(:post) { Fabricate(:post, user: user, deleted_at: Time.now) }
|
||||
|
||||
it "doesn't send the email to the user" do
|
||||
UserNotifications.expects(:mailing_list_notify).with(user, post).never
|
||||
Jobs::NotifyMailingListSubscribers.new.execute(post_id: post.id)
|
||||
end
|
||||
end
|
||||
|
||||
context "with a user_deleted post" do
|
||||
let!(:post) { Fabricate(:post, user: user, user_deleted: true) }
|
||||
|
||||
it "doesn't send the email to the user" do
|
||||
UserNotifications.expects(:mailing_list_notify).with(user, post).never
|
||||
Jobs::NotifyMailingListSubscribers.new.execute(post_id: post.id)
|
||||
end
|
||||
end
|
||||
|
||||
context "with a deleted topic" do
|
||||
let!(:post) { Fabricate(:post, user: user) }
|
||||
|
||||
before do
|
||||
post.topic.update_column(:deleted_at, Time.now)
|
||||
end
|
||||
|
||||
it "doesn't send the email to the user" do
|
||||
UserNotifications.expects(:mailing_list_notify).with(user, post).never
|
||||
Jobs::NotifyMailingListSubscribers.new.execute(post_id: post.id)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context "to an anonymous user with mailing list on" do
|
||||
context "with a deleted post" do
|
||||
let!(:post) { Fabricate(:post, user: user, deleted_at: Time.now) }
|
||||
|
||||
it "doesn't send the email to the user" do
|
||||
UserNotifications.expects(:mailing_list_notify).with(user, post).never
|
||||
Jobs::NotifyMailingListSubscribers.new.execute(post_id: post.id)
|
||||
end
|
||||
end
|
||||
|
||||
context "with a user_deleted post" do
|
||||
let!(:post) { Fabricate(:post, user: user, user_deleted: true) }
|
||||
|
||||
it "doesn't send the email to the user" do
|
||||
UserNotifications.expects(:mailing_list_notify).with(user, post).never
|
||||
Jobs::NotifyMailingListSubscribers.new.execute(post_id: post.id)
|
||||
end
|
||||
end
|
||||
|
||||
context "with a deleted topic" do
|
||||
let!(:post) { Fabricate(:post, user: user) }
|
||||
|
||||
before do
|
||||
post.topic.update_column(:deleted_at, Time.now)
|
||||
end
|
||||
|
||||
it "doesn't send the email to the user" do
|
||||
UserNotifications.expects(:mailing_list_notify).with(user, post).never
|
||||
Jobs::NotifyMailingListSubscribers.new.execute(post_id: post.id)
|
||||
end
|
||||
end
|
||||
|
||||
context "to an anonymous user" do
|
||||
let(:user) { Fabricate(:anonymous) }
|
||||
let!(:post) { Fabricate(:post, user: user) }
|
||||
|
||||
|
||||
@@ -192,11 +192,16 @@ describe Jobs::UserEmail do
|
||||
Jobs::UserEmail.new.execute(type: :user_mentioned, user_id: user.id, notification_id: notification.id)
|
||||
end
|
||||
|
||||
it "doesn't send the mail if the user is using mailing list mode" do
|
||||
Email::Sender.any_instance.expects(:send).never
|
||||
user.update_column(:mailing_list_mode, true)
|
||||
Jobs::UserEmail.new.execute(type: :user_mentioned, user_id: user.id, notification_id: notification.id, post_id: post.id)
|
||||
end
|
||||
|
||||
it "doesn't send the email if the post has been user deleted" do
|
||||
Email::Sender.any_instance.expects(:send).never
|
||||
post.update_column(:user_deleted, true)
|
||||
Jobs::UserEmail.new.execute(type: :user_mentioned, user_id: user.id,
|
||||
notification_id: notification.id, post_id: post.id)
|
||||
Jobs::UserEmail.new.execute(type: :user_mentioned, user_id: user.id, notification_id: notification.id, post_id: post.id)
|
||||
end
|
||||
|
||||
context 'user is suspended' do
|
||||
|
||||
Reference in New Issue
Block a user