Removed slack notification for admins when user is deleted (#11929)
This commit is contained in:
parent
87a99a28ae
commit
1079c4e402
4 changed files with 0 additions and 93 deletions
|
|
@ -1,39 +0,0 @@
|
|||
module Slack
|
||||
module Messengers
|
||||
class UserDeleted
|
||||
MESSAGE_TEMPLATE = <<~TEXT.chomp.freeze
|
||||
%<name>s (%<user_url>s)
|
||||
self-deleted their account.
|
||||
Please, delete them from Mailchimp & Google Analytics.
|
||||
TEXT
|
||||
|
||||
def initialize(name:, user_url:)
|
||||
@name = name
|
||||
@user_url = user_url
|
||||
end
|
||||
|
||||
def self.call(*args)
|
||||
new(*args).call
|
||||
end
|
||||
|
||||
def call
|
||||
message = format(
|
||||
MESSAGE_TEMPLATE,
|
||||
name: name,
|
||||
user_url: user_url,
|
||||
)
|
||||
|
||||
Slack::Messengers::Worker.perform_async(
|
||||
message: message,
|
||||
channel: "user-deleted",
|
||||
username: "user_deleted_bot",
|
||||
icon_emoji: ":scissors:",
|
||||
)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
attr_reader :name, :user_url
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -18,9 +18,6 @@ module Users
|
|||
# thus we pass the data we need to render to deliver the email, not the
|
||||
# whole object
|
||||
NotifyMailer.with(name: user.name, email: user.email).account_deleted_email.deliver_now
|
||||
|
||||
# notify admins about self-delete
|
||||
Slack::Messengers::UserDeleted.call(name: user.name, user_url: URL.user(user))
|
||||
rescue StandardError => e
|
||||
DatadogStatsClient.count("users.delete", 1, tags: ["action:failed", "user_id:#{user.id}"])
|
||||
Honeybadger.context({ user_id: user.id })
|
||||
|
|
|
|||
|
|
@ -1,37 +0,0 @@
|
|||
require "rails_helper"
|
||||
|
||||
RSpec.describe Slack::Messengers::UserDeleted, type: :service do
|
||||
let(:user) { build(:user) }
|
||||
|
||||
let(:default_params) do
|
||||
{
|
||||
name: user.name,
|
||||
user_url: URL.user(user)
|
||||
}
|
||||
end
|
||||
|
||||
it "contains the correct info", :aggregate_failures do
|
||||
sidekiq_assert_enqueued_jobs(1, only: Slack::Messengers::Worker) do
|
||||
described_class.call(default_params)
|
||||
end
|
||||
|
||||
job = sidekiq_enqueued_jobs(worker: Slack::Messengers::Worker).last
|
||||
message = job["args"].first["message"]
|
||||
|
||||
expect(message).to include("self-deleted their account")
|
||||
expect(message).to include(URL.user(user))
|
||||
end
|
||||
|
||||
it "messages the proper channel with the proper username and emoji", :aggregate_failures do
|
||||
sidekiq_assert_enqueued_jobs(1, only: Slack::Messengers::Worker) do
|
||||
described_class.call(default_params)
|
||||
end
|
||||
|
||||
job = sidekiq_enqueued_jobs(worker: Slack::Messengers::Worker).last
|
||||
job_args = job["args"].first
|
||||
|
||||
expect(job_args["channel"]).to eq("user-deleted")
|
||||
expect(job_args["username"]).to eq("user_deleted_bot")
|
||||
expect(job_args["icon_emoji"]).to eq(":scissors:")
|
||||
end
|
||||
end
|
||||
|
|
@ -5,8 +5,6 @@ RSpec.describe Users::DeleteWorker, type: :worker do
|
|||
let(:mailer_class) { NotifyMailer }
|
||||
let(:mailer) { double }
|
||||
let(:message_delivery) { double }
|
||||
let(:slack_messenger_class) { Slack::Messengers::UserDeleted }
|
||||
let(:slack_messenger) { double }
|
||||
|
||||
describe "#perform" do
|
||||
let!(:user) { create(:user) }
|
||||
|
|
@ -49,18 +47,6 @@ RSpec.describe Users::DeleteWorker, type: :worker do
|
|||
expect(message_delivery).to have_received(:deliver_now)
|
||||
end
|
||||
|
||||
it "sends the gdpr notification" do
|
||||
allow(slack_messenger_class).to receive(:call)
|
||||
worker.perform(user.id)
|
||||
expect(slack_messenger_class).to have_received(:call).with(name: user.name, user_url: URL.user(user))
|
||||
end
|
||||
|
||||
it "doesn't send the gdpr notification for admin triggered deletion" do
|
||||
allow(slack_messenger_class).to receive(:call)
|
||||
worker.perform(user.id, true)
|
||||
expect(slack_messenger_class).not_to have_received(:call)
|
||||
end
|
||||
|
||||
it "creates a gdpr-delete record" do
|
||||
expect do
|
||||
worker.perform(user.id, true)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue