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:
Diffstat (limited to 'spec/requests/admin/users_controller_spec.rb')
-rw-r--r--spec/requests/admin/users_controller_spec.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/requests/admin/users_controller_spec.rb b/spec/requests/admin/users_controller_spec.rb
index 21cf8ab2c79..e525d615b50 100644
--- a/spec/requests/admin/users_controller_spec.rb
+++ b/spec/requests/admin/users_controller_spec.rb
@@ -10,6 +10,29 @@ RSpec.describe Admin::UsersController, :enable_admin_mode, feature_category: :us
sign_in(admin)
end
+ describe 'PATCH #update' do
+ let(:user) { create(:user) }
+
+ context "when admin changes user email" do
+ let(:new_email) { 'new-email@example.com' }
+
+ subject(:request) { patch admin_user_path(user), params: { user: { email: new_email } } }
+
+ it 'allows change user email', :aggregate_failures do
+ expect { request }
+ .to change { user.reload.email }.from(user.email).to(new_email)
+
+ expect(response).to redirect_to(admin_user_path(user))
+ expect(flash[:notice]).to eq('User was successfully updated.')
+ end
+
+ it 'does not email the user with confirmation_instructions' do
+ expect { request }
+ .not_to have_enqueued_mail(DeviseMailer, :confirmation_instructions)
+ end
+ end
+ end
+
describe 'PUT #block' do
context 'when request format is :json' do
subject(:request) { put block_admin_user_path(user, format: :json) }