55 lines
1.6 KiB
Ruby
55 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe 'Admin::Users::UserIdentities', feature_category: :user_management do
|
|
let_it_be(:user) { create(:omniauth_user, provider: 'twitter', extern_uid: '123456') }
|
|
let_it_be(:current_user) { create(:admin) }
|
|
|
|
before do
|
|
sign_in(current_user)
|
|
enable_admin_mode!(current_user, use_ui: true)
|
|
end
|
|
|
|
describe 'GET /admin/users/:id' do
|
|
describe 'show user identities' do
|
|
it 'shows user identities', :aggregate_failures do
|
|
visit admin_user_identities_path(user)
|
|
|
|
expect(page).to have_content(user.name)
|
|
expect(page).to have_content('twitter')
|
|
end
|
|
end
|
|
|
|
describe 'update user identities' do
|
|
before do
|
|
allow(Gitlab::Auth::OAuth::Provider).to receive(:providers).and_return([:twitter, :twitter_updated])
|
|
end
|
|
|
|
it 'modifies twitter identity', :aggregate_failures do
|
|
visit admin_user_identities_path(user)
|
|
|
|
find('.table').find(:link, 'Edit').click
|
|
fill_in 'identity_extern_uid', with: '654321'
|
|
select 'twitter_updated', from: 'identity_provider'
|
|
click_button 'Save changes'
|
|
|
|
expect(page).to have_content(user.name)
|
|
expect(page).to have_content('twitter_updated')
|
|
expect(page).to have_content('654321')
|
|
end
|
|
end
|
|
|
|
describe 'remove user with identities' do
|
|
it 'removes user with twitter identity', :aggregate_failures do
|
|
visit admin_user_identities_path(user)
|
|
|
|
click_link 'Delete'
|
|
|
|
expect(page).to have_content(user.name)
|
|
expect(page).not_to have_content('twitter')
|
|
end
|
|
end
|
|
end
|
|
end
|