require "rails_helper" feature "Admin masquerading as an user" do let!(:current_user) { create(:user, admin: true, email: "me@test.com") } let!(:another_user) { create(:user, admin: false, email: "them@test.com") } let(:project) { create(:project, account: current_user.primary_account) } scenario "masquerades as user and stops" do my_project = create(:project, name: "My Project", account: current_user.primary_account) another_project = create(:project, name: "Their Project", account: another_user.primary_account) sign_in current_user visit admin_users_path click_link "Masquerade" expect(page).not_to have_content("me@test.com") expect(page).to have_content("them@test.com") expect(page).to have_content("Their Project") expect(page).not_to have_content("My Project") expect(page).to have_content "Stop Masquerading" click_link "Stop Masquerading" expect(page).to have_content("me@test.com") expect(page).to have_content("them@test.com") expect(page).to have_content("Masquerade") visit projects_path expect(page).to have_content("me@test.com") expect(page).not_to have_content("them@test.com") expect(page).to have_content("My Project") expect(page).not_to have_content("Their Project") expect(page).not_to have_content "Stop Masquerading" end end