diff options
Diffstat (limited to 'spec/requests/admin/users_controller_spec.rb')
-rw-r--r-- | spec/requests/admin/users_controller_spec.rb | 23 |
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) } |