Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-14 15:08:53 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-14 15:08:53 +0300
commit8a5138ed7d38ccff8b5ca2fe0f7bbb77f8fdaad3 (patch)
tree4c0d373c990fc01cacff9b4093366ab398fcb7d3 /spec/features/admin
parent6d8f30ab0ae82678f10450d2158f24772f0c765c (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features/admin')
-rw-r--r--spec/features/admin/users/users_spec.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/features/admin/users/users_spec.rb b/spec/features/admin/users/users_spec.rb
index 95f25d5c23d..8e80ce5edd9 100644
--- a/spec/features/admin/users/users_spec.rb
+++ b/spec/features/admin/users/users_spec.rb
@@ -311,6 +311,40 @@ RSpec.describe 'Admin::Users', feature_category: :user_management do
end
end
+ describe 'users pending approval' do
+ it 'sends a welcome email and a password reset email to the user upon admin approval', :sidekiq_inline do
+ user = create(:user, :blocked_pending_approval, created_by_id: current_user.id)
+
+ visit admin_users_path
+
+ click_link 'Pending approval'
+
+ click_user_dropdown_toggle(user.id)
+
+ find('[data-testid="approve"]').click
+
+ expect(page).to have_content("Approve user #{user.name}?")
+
+ within_modal do
+ perform_enqueued_jobs do
+ click_button 'Approve'
+ end
+ end
+
+ expect(page).to have_content('Successfully approved')
+
+ welcome_email = ActionMailer::Base.deliveries.find { |m| m.subject == 'Welcome to GitLab!' }
+ expect(welcome_email.to).to eq([user.email])
+ expect(welcome_email.text_part.body).to have_content('Your GitLab account request has been approved!')
+
+ password_reset_email = ActionMailer::Base.deliveries.find { |m| m.subject == 'Account was created for you' }
+ expect(password_reset_email.to).to eq([user.email])
+ expect(password_reset_email.text_part.body).to have_content('Click here to set your password')
+
+ expect(ActionMailer::Base.deliveries.count).to eq(2)
+ end
+ end
+
describe 'internal users' do
context 'when showing a `Ghost User`' do
let_it_be(:ghost_user) { create(:user, :ghost) }