diff options
Diffstat (limited to 'spec/features/projects/members')
-rw-r--r-- | spec/features/projects/members/groups_with_access_list_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/projects/members/manage_groups_spec.rb (renamed from spec/features/projects/members/invite_group_spec.rb) | 83 | ||||
-rw-r--r-- | spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/projects/members/master_manages_access_requests_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/projects/members/member_leaves_project_spec.rb | 2 |
5 files changed, 14 insertions, 77 deletions
diff --git a/spec/features/projects/members/groups_with_access_list_spec.rb b/spec/features/projects/members/groups_with_access_list_spec.rb index 9bd6476f836..821b9249aa8 100644 --- a/spec/features/projects/members/groups_with_access_list_spec.rb +++ b/spec/features/projects/members/groups_with_access_list_spec.rb @@ -9,7 +9,7 @@ RSpec.describe 'Projects > Members > Groups with access list', :js do let_it_be(:user) { create(:user) } let_it_be(:group) { create(:group, :public) } - let_it_be(:project) { create(:project, :public) } + let_it_be(:project) { create(:project, :public, :with_namespace_settings) } let_it_be(:expiration_date) { 5.days.from_now.to_date } let(:additional_link_attrs) { {} } diff --git a/spec/features/projects/members/invite_group_spec.rb b/spec/features/projects/members/manage_groups_spec.rb index a48229249e0..006fa3b6eff 100644 --- a/spec/features/projects/members/invite_group_spec.rb +++ b/spec/features/projects/members/manage_groups_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project > Members > Invite group', :js do +RSpec.describe 'Project > Members > Manage groups', :js do include ActionView::Helpers::DateHelper include Spec::Support::Helpers::Features::MembersHelpers include Spec::Support::Helpers::Features::InviteMembersModalHelper @@ -126,7 +126,7 @@ RSpec.describe 'Project > Members > Invite group', :js do end describe 'setting an expiration date for a group link' do - let(:project) { create(:project) } + let(:project) { create(:project, :with_namespace_settings) } let!(:group) { create(:group) } let_it_be(:expiration_date) { 5.days.from_now.to_date } @@ -153,81 +153,18 @@ RSpec.describe 'Project > Members > Invite group', :js do end end - describe 'the groups dropdown' do + describe 'group search results' do let_it_be(:parent_group) { create(:group, :public) } let_it_be(:project_group) { create(:group, :public, parent: parent_group) } let_it_be(:project) { create(:project, group: project_group) } - context 'with instance admin considerations' do - let_it_be(:group_to_share) { create(:group) } - - context 'when user is an admin' do - let_it_be(:admin) { create(:admin) } - - before do - sign_in(admin) - gitlab_enable_admin_mode_sign_in(admin) - end - - it 'shows groups where the admin has no direct membership' do - visit project_project_members_path(project) - - click_on 'Invite a group' - click_on 'Select a group' - wait_for_requests - - page.within(group_dropdown_selector) do - expect_to_have_group(group_to_share) - end - end - - it 'shows groups where the admin has at least guest level membership' do - group_to_share.add_guest(admin) - - visit project_project_members_path(project) - - click_on 'Invite a group' - click_on 'Select a group' - wait_for_requests - - page.within(group_dropdown_selector) do - expect_to_have_group(group_to_share) - end - end - end - - context 'when user is not an admin' do - before do - project.add_maintainer(maintainer) - sign_in(maintainer) - end - - it 'does not show groups where the user has no direct membership' do - visit project_project_members_path(project) - - click_on 'Invite a group' - click_on 'Select a group' - wait_for_requests - - page.within(group_dropdown_selector) do - expect_not_to_have_group(group_to_share) - end - end - - it 'shows groups where the user has at least guest level membership' do - group_to_share.add_guest(maintainer) - - visit project_project_members_path(project) - - click_on 'Invite a group' - click_on 'Select a group' - wait_for_requests - - page.within(group_dropdown_selector) do - expect_to_have_group(group_to_share) - end - end - end + it_behaves_like 'inviting groups search results' do + let_it_be(:user) { maintainer } + let_it_be(:group) { parent_group } + let_it_be(:group_within_hierarchy) { create(:group, parent: group) } + let_it_be(:project_within_hierarchy) { create(:project, group: group_within_hierarchy)} + let_it_be(:members_page_path) { project_project_members_path(project) } + let_it_be(:members_page_path_within_hierarchy) { project_project_members_path(project_within_hierarchy) } end context 'for a project in a nested group' do diff --git a/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb b/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb index 830ada29a2e..bd0874316ac 100644 --- a/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb +++ b/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb @@ -8,7 +8,7 @@ RSpec.describe 'Projects > Members > Maintainer adds member with expiration date include Spec::Support::Helpers::Features::InviteMembersModalHelper let_it_be(:maintainer) { create(:user) } - let_it_be(:project) { create(:project) } + let_it_be(:project) { create(:project, :with_namespace_settings) } let_it_be(:three_days_from_now) { 3.days.from_now.to_date } let_it_be(:five_days_from_now) { 5.days.from_now.to_date } diff --git a/spec/features/projects/members/master_manages_access_requests_spec.rb b/spec/features/projects/members/master_manages_access_requests_spec.rb index 4c3eaa93352..f4e8c55e3cc 100644 --- a/spec/features/projects/members/master_manages_access_requests_spec.rb +++ b/spec/features/projects/members/master_manages_access_requests_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe 'Projects > Members > Maintainer manages access requests' do it_behaves_like 'Maintainer manages access requests' do - let(:entity) { create(:project, :public) } + let(:entity) { create(:project, :public, :with_namespace_settings) } let(:members_page_path) { project_project_members_path(entity) } end end diff --git a/spec/features/projects/members/member_leaves_project_spec.rb b/spec/features/projects/members/member_leaves_project_spec.rb index 78a0a384d2c..67c40c1dbee 100644 --- a/spec/features/projects/members/member_leaves_project_spec.rb +++ b/spec/features/projects/members/member_leaves_project_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'Projects > Members > Member leaves project' do include Spec::Support::Helpers::Features::MembersHelpers let(:user) { create(:user) } - let(:project) { create(:project, :repository) } + let(:project) { create(:project, :repository, :with_namespace_settings) } before do project.add_developer(user) |