From 6335f9a7e96099dc5831cbb957dc1e37fb22b69b Mon Sep 17 00:00:00 2001 From: Andy Zhao <17884966+Zhao-Andy@users.noreply.github.com> Date: Fri, 17 Dec 2021 15:36:35 -0500 Subject: [PATCH] Remove profile when banish (#15818) * Clear profile when banishing user * Add test for clearing profile when banishing * Also clear any social usernames --- app/services/users/delete_activity.rb | 5 +++++ spec/services/moderator/banish_user_spec.rb | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/app/services/users/delete_activity.rb b/app/services/users/delete_activity.rb index 3041df770..874d1da16 100644 --- a/app/services/users/delete_activity.rb +++ b/app/services/users/delete_activity.rb @@ -46,6 +46,11 @@ module Users user.credits.delete_all user.organization_memberships.delete_all user.profile_pins.delete_all + user.profile.update(summary: "", location: "", website_url: "", data: {}) + user.github_username = "" + user.twitter_username = "" + user.facebook_username = "" + user.save end end end diff --git a/spec/services/moderator/banish_user_spec.rb b/spec/services/moderator/banish_user_spec.rb index d2464ae82..8c77535b3 100644 --- a/spec/services/moderator/banish_user_spec.rb +++ b/spec/services/moderator/banish_user_spec.rb @@ -12,6 +12,19 @@ RSpec.describe Moderator::BanishUser, type: :service do expect(user.username).to include "spam_" end + it "clears their profile" do + sidekiq_perform_enqueued_jobs do + described_class.call(user: user, admin: admin) + end + expect(user.profile.summary).to be_blank + expect(user.profile.location).to be_blank + expect(user.profile.website_url).to be_blank + expect(user.profile.data).to be_empty + expect(user.github_username).to be_blank + expect(user.twitter_username).to be_blank + expect(user.facebook_username).to be_blank + end + it "removes all their articles" do create(:article, user: user, published: true) sidekiq_perform_enqueued_jobs