trabajo-afectivo/spec/system/manage/users_spec.rb

52 lines
1.3 KiB
Ruby
Raw Normal View History

require 'rails_helper'
RSpec.describe 'Manage > Users', type: :system do
describe 'switching to an alternative user', authenticated_as: -> { original_user } do
let(:original_user) { create(:admin) }
let(:alternative_one_user) { create(:admin) }
let(:alternative_two_user) { create(:admin) }
before do
alternative_one_user
alternative_two_user
end
it 'starts as original user' do
expect(current_user).to eq original_user
end
it 'switches to alternative user' do
switch_to(alternative_one_user)
expect(current_user).to eq alternative_one_user
end
it 'switches to another alternative user' do
switch_to(alternative_one_user)
switch_to(alternative_two_user)
expect(current_user).to eq alternative_two_user
end
it 'switches back to original user' do
switch_to(alternative_one_user)
switch_to(alternative_two_user)
click '.switchBackToUser-close'
expect(current_user).to eq original_user
end
def switch_to(user)
visit 'manage/users'
within(:active_content) do
row = find("tr[data-id=\"#{user.id}\"]")
row.find('.js-action').click
row.find('.js-switchTo').click
end
await_empty_ajax_queue
end
end
end