* Add tests
* Fix user email address being banned on self-deletion
Fixes #16498
end
def destroy_account!
- current_account.suspend!(origin: :local)
+ current_account.suspend!(origin: :local, block_email: false)
AccountDeletionWorker.perform_async(current_user.account_id)
sign_out
end
suspended? && deletion_request.present?
end
- def suspend!(date: Time.now.utc, origin: :local)
+ def suspend!(date: Time.now.utc, origin: :local, block_email: true)
transaction do
create_deletion_request!
update!(suspended_at: date, suspension_origin: origin)
- create_canonical_email_block!
+ create_canonical_email_block! if block_email
end
end
expect(user.account.reload).to be_suspended
end
+ it 'does not create an email block' do
+ expect(CanonicalEmailBlock.block?(user.email)).to be false
+ end
+
context 'when suspended' do
let(:user) { Fabricate(:user, account_attributes: { username: 'alice', suspended_at: Time.now.utc }) }