diff --git a/app/models/user.rb b/app/models/user.rb index 56cad0d70..8a846ee2d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -25,7 +25,7 @@ class User < ActiveRecord::Base has_many :post_actions, dependent: :destroy has_many :user_badges, -> {where('user_badges.badge_id IN (SELECT id FROM badges where enabled)')}, dependent: :destroy has_many :badges, through: :user_badges - has_many :email_logs, dependent: :destroy + has_many :email_logs, dependent: :delete_all has_many :post_timings has_many :topic_allowed_users, dependent: :destroy has_many :topics_allowed, through: :topic_allowed_users, source: :topic diff --git a/spec/services/user_destroyer_spec.rb b/spec/services/user_destroyer_spec.rb index efb50f0bd..b7b685a55 100644 --- a/spec/services/user_destroyer_spec.rb +++ b/spec/services/user_destroyer_spec.rb @@ -283,6 +283,17 @@ describe UserDestroyer do end end + context 'user got an email' do + let(:user) { Fabricate(:user) } + let!(:email_log) { Fabricate(:email_log, user: user) } + + it "deletes the email log" do + expect { + UserDestroyer.new(@admin).destroy(user, {delete_posts: true}) + }.to change { EmailLog.count }.by(-1) + end + end + context 'user liked things' do before do @topic = Fabricate(:topic, user: Fabricate(:user))