diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-05-02 21:19:21 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-05-02 21:19:21 +0000 |
commit | 90693cc231ba6e1645dc57f2a9111a7b5a5ceae0 (patch) | |
tree | 3b2cffdb40c949b2f061b7fd0f52d3214325cc17 /spec/models/user_spec.rb | |
parent | b9ce0fe1e6311105b7a748126621f9bfbe37fb2e (diff) | |
download | gitlab-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.rb | 28 |
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 |