From 90443dac3031c4ee509869375321bee192ac98e2 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Mon, 25 Mar 2013 13:39:57 -0400 Subject: [PATCH] Don't email about posts if the user deleted it. --- lib/jobs/user_email.rb | 3 +++ spec/components/jobs/user_email_spec.rb | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/lib/jobs/user_email.rb b/lib/jobs/user_email.rb index c9e7c61225..ca3f9961dd 100644 --- a/lib/jobs/user_email.rb +++ b/lib/jobs/user_email.rb @@ -27,6 +27,9 @@ module Jobs post = Post.where(id: args[:post_id]).first return unless post.present? + # Don't email posts that were deleted + return if post.user_deleted? + # Don't send the email if the user has read the post return if PostTiming.where(topic_id: post.topic_id, post_number: post.post_number, user_id: user.id).present? diff --git a/spec/components/jobs/user_email_spec.rb b/spec/components/jobs/user_email_spec.rb index 72aa1ec415..785e9f51f9 100644 --- a/spec/components/jobs/user_email_spec.rb +++ b/spec/components/jobs/user_email_spec.rb @@ -70,6 +70,12 @@ describe Jobs::UserEmail do Jobs::UserEmail.new.execute(type: :private_message, user_id: user.id, post_id: post.id) end + it "doesn't send the email if the user deleted the post" do + EmailSender.any_instance.expects(:send).never + post.update_column(:user_deleted, true) + Jobs::UserEmail.new.execute(type: :private_message, user_id: user.id, post_id: post.id) + end + end