diff options
Diffstat (limited to 'spec/features/groups/members/leave_group_spec.rb')
-rw-r--r-- | spec/features/groups/members/leave_group_spec.rb | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/spec/features/groups/members/leave_group_spec.rb b/spec/features/groups/members/leave_group_spec.rb index d864852e0d4..632155cd7e4 100644 --- a/spec/features/groups/members/leave_group_spec.rb +++ b/spec/features/groups/members/leave_group_spec.rb @@ -9,17 +9,22 @@ RSpec.describe 'Groups > Members > Leave group', feature_category: :groups_and_p let(:user) { create(:user) } let(:other_user) { create(:user) } let(:group) { create(:group) } + let(:more_actions_dropdown) do + find('[data-testid="groups-projects-more-actions-dropdown"] .gl-new-dropdown-custom-toggle') + end before do sign_in(user) end - it 'guest leaves the group' do + it 'guest leaves the group', :js do group.add_guest(user) group.add_owner(other_user) visit group_path(group) + more_actions_dropdown.click click_link 'Leave group' + accept_gl_confirm(button_text: 'Leave group') expect(page).to have_current_path(dashboard_groups_path, ignore_query: true) expect(page).to have_content left_group_message(group) @@ -31,31 +36,33 @@ RSpec.describe 'Groups > Members > Leave group', feature_category: :groups_and_p group.add_owner(other_user) visit group_path(group, leave: 1) - accept_gl_confirm(button_text: 'Leave group') - wait_for_all_requests expect(page).to have_current_path(dashboard_groups_path, ignore_query: true) expect(group.users).not_to include(user) end - it 'guest leaves the group as last member' do + it 'guest leaves the group as last member', :js do group.add_guest(user) visit group_path(group) + more_actions_dropdown.click click_link 'Leave group' + accept_gl_confirm(button_text: 'Leave group') expect(page).to have_current_path(dashboard_groups_path, ignore_query: true) expect(page).to have_content left_group_message(group) expect(group.users).not_to include(user) end - it 'owner leaves the group if they are not the last owner' do + it 'owner leaves the group if they are not the last owner', :js do group.add_owner(user) group.add_owner(other_user) visit group_path(group) + more_actions_dropdown.click click_link 'Leave group' + accept_gl_confirm(button_text: 'Leave group') expect(page).to have_current_path(dashboard_groups_path, ignore_query: true) expect(page).to have_content left_group_message(group) @@ -66,6 +73,7 @@ RSpec.describe 'Groups > Members > Leave group', feature_category: :groups_and_p group.add_owner(user) visit group_path(group) + more_actions_dropdown.click expect(page).not_to have_content 'Leave group' @@ -79,7 +87,7 @@ RSpec.describe 'Groups > Members > Leave group', feature_category: :groups_and_p visit group_path(group, leave: 1) - expect(find('[data-testid="alert-danger"]')).to have_content 'You do not have permission to leave this group' + expect(find_by_testid('alert-danger')).to have_content 'You do not have permission to leave this group' end def left_group_message(group) |