diff options
Diffstat (limited to 'spec/features/admin/admin_users_spec.rb')
-rw-r--r-- | spec/features/admin/admin_users_spec.rb | 47 |
1 files changed, 43 insertions, 4 deletions
diff --git a/spec/features/admin/admin_users_spec.rb b/spec/features/admin/admin_users_spec.rb index 97a30143a59..8809d04e6ec 100644 --- a/spec/features/admin/admin_users_spec.rb +++ b/spec/features/admin/admin_users_spec.rb @@ -13,6 +13,7 @@ RSpec.describe "Admin::Users" do before do sign_in(current_user) + gitlab_enable_admin_mode_sign_in(current_user) end describe "GET /admin/users" do @@ -205,8 +206,8 @@ RSpec.describe "Admin::Users" do end end - context 'when blocking a user' do - it 'shows confirmation and allows blocking', :js do + context 'when blocking/unblocking a user' do + it 'shows confirmation and allows blocking and unblocking', :js do expect(page).to have_content(user.email) find("[data-testid='user-action-button-#{user.id}']").click @@ -228,6 +229,30 @@ RSpec.describe "Admin::Users" do expect(page).to have_content('Successfully blocked') expect(page).not_to have_content(user.email) + + click_link 'Blocked' + + wait_for_requests + + expect(page).to have_content(user.email) + + find("[data-testid='user-action-button-#{user.id}']").click + + within find("[data-testid='user-action-dropdown-#{user.id}']") do + find('li button', text: 'Unblock').click + end + + wait_for_requests + + expect(page).to have_content('Unblock user') + expect(page).to have_content('You can always block their account again if needed.') + + find('.modal-footer button', text: 'Unblock').click + + wait_for_requests + + expect(page).to have_content('Successfully unblocked') + expect(page).not_to have_content(user.email) end end end @@ -388,8 +413,8 @@ RSpec.describe "Admin::Users" do end end - context 'when blocking the user' do - it 'shows confirmation and allows blocking', :js do + context 'when blocking/unblocking the user' do + it 'shows confirmation and allows blocking and unblocking', :js do visit admin_user_path(user) find('button', text: 'Block user').click @@ -405,6 +430,20 @@ RSpec.describe "Admin::Users" do expect(page).to have_content('Successfully blocked') expect(page).to have_content('This user is blocked') + + find('button', text: 'Unblock user').click + + wait_for_requests + + expect(page).to have_content('Unblock user') + expect(page).to have_content('You can always block their account again if needed.') + + find('.modal-footer button', text: 'Unblock').click + + wait_for_requests + + expect(page).to have_content('Successfully unblocked') + expect(page).to have_content('Block this user') end end |