summaryrefslogtreecommitdiff
path: root/spec/models/user_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-05-02 21:19:21 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-05-02 21:19:21 +0000
commit90693cc231ba6e1645dc57f2a9111a7b5a5ceae0 (patch)
tree3b2cffdb40c949b2f061b7fd0f52d3214325cc17 /spec/models/user_spec.rb
parentb9ce0fe1e6311105b7a748126621f9bfbe37fb2e (diff)
downloadgitlab-ce-90693cc231ba6e1645dc57f2a9111a7b5a5ceae0.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r--spec/models/user_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index a54ba0ba40a..0e432edebb0 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -5784,6 +5784,34 @@ RSpec.describe User, feature_category: :user_profile do
expect(user).not_to be_blocked
end
+
+ context 'when target user is the same as deleted_by' do
+ let(:deleted_by) { user }
+
+ it 'blocks the user and schedules the record for deletion with the correct delay' do
+ freeze_time do
+ expect(DeleteUserWorker).to receive(:perform_in).with(7.days, user.id, user.id, {})
+
+ user.delete_async(deleted_by: deleted_by)
+
+ expect(user).to be_blocked
+ end
+ end
+
+ context 'when delay_delete_own_user feature flag is disabled' do
+ before do
+ stub_feature_flags(delay_delete_own_user: false)
+ end
+
+ it 'schedules user for deletion without blocking them' do
+ expect(DeleteUserWorker).to receive(:perform_async).with(user.id, user.id, {})
+
+ user.delete_async(deleted_by: deleted_by)
+
+ expect(user).not_to be_blocked
+ end
+ end
+ end
end
describe '#max_member_access_for_project_ids' do