Removed slack notification for admins when user is deleted (#11929)

This commit is contained in:
Anna Buianova 2020-12-17 20:31:22 +03:00 committed by GitHub
parent 87a99a28ae
commit 1079c4e402
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 0 additions and 93 deletions

View file

@ -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

View file

@ -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 })

View file

@ -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

View file

@ -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)