From ec8ee545592e51d83347b0166b9949c2a7aa4c27 Mon Sep 17 00:00:00 2001 From: Michael Kohl Date: Thu, 27 Feb 2020 02:44:09 +0700 Subject: [PATCH] Delete classified listings when deleting user (#6258) --- app/models/user.rb | 2 +- app/services/users/delete_activity.rb | 1 + spec/requests/internal/users_banish_spec.rb | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index e797d493b..9f47f7b9e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -46,7 +46,7 @@ class User < ApplicationRecord has_many :html_variants, dependent: :destroy has_many :page_views, dependent: :destroy has_many :credits, dependent: :destroy - has_many :classified_listings + has_many :classified_listings, dependent: :destroy has_many :poll_votes, dependent: :destroy has_many :poll_skips, dependent: :destroy has_many :backup_data, foreign_key: "instance_user_id", inverse_of: :instance_user, class_name: "BackupData", dependent: :delete_all diff --git a/app/services/users/delete_activity.rb b/app/services/users/delete_activity.rb index 9557b215e..53ba0935b 100644 --- a/app/services/users/delete_activity.rb +++ b/app/services/users/delete_activity.rb @@ -35,6 +35,7 @@ module Users user.profile_pins.delete_all user.rating_votes.delete_all user.tweets.delete_all + user.classified_listings.delete_all handle_feedback_messages(user) end diff --git a/spec/requests/internal/users_banish_spec.rb b/spec/requests/internal/users_banish_spec.rb index 2c3938d97..131d9730c 100644 --- a/spec/requests/internal/users_banish_spec.rb +++ b/spec/requests/internal/users_banish_spec.rb @@ -236,6 +236,12 @@ RSpec.describe "Internal::Users", type: :request do expect(user.follows.count).to eq(0) end + it "removes a user's classified listings" do + create(:classified_listing, user: user) + banish_user + expect(user.classified_listings.count).to eq(0) + end + it "creates an entry in the BanishedUsers table" do expect do banish_user