From 4eeb6b0d16021ab4a730eec4610eff2606421147 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 13 Dec 2019 15:08:02 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../groups/group_members_controller_spec.rb | 31 +++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'spec/controllers/groups/group_members_controller_spec.rb') diff --git a/spec/controllers/groups/group_members_controller_spec.rb b/spec/controllers/groups/group_members_controller_spec.rb index 22f970133e3..a144d9e0786 100644 --- a/spec/controllers/groups/group_members_controller_spec.rb +++ b/spec/controllers/groups/group_members_controller_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' describe Groups::GroupMembersController do include ExternalAuthorizationServiceHelpers - let(:user) { create(:user) } + let(:user) { create(:user) } let(:group) { create(:group, :public) } let(:membership) { create(:group_member, group: group) } @@ -49,6 +49,35 @@ describe Groups::GroupMembersController do expect(assigns(:invited_members).count).to eq(1) end end + + context 'when user has owner access to subgroup' do + let(:nested_group) { create(:group, parent: group) } + let(:nested_group_user) { create(:user) } + + before do + group.add_owner(user) + nested_group.add_owner(nested_group_user) + sign_in(user) + end + + it 'lists inherited group members by default' do + get :index, params: { group_id: nested_group } + + expect(assigns(:members).map(&:user_id)).to contain_exactly(user.id, nested_group_user.id) + end + + it 'lists direct group members only' do + get :index, params: { group_id: nested_group, with_inherited_permissions: 'exclude' } + + expect(assigns(:members).map(&:user_id)).to contain_exactly(nested_group_user.id) + end + + it 'lists inherited group members only' do + get :index, params: { group_id: nested_group, with_inherited_permissions: 'only' } + + expect(assigns(:members).map(&:user_id)).to contain_exactly(user.id) + end + end end describe 'POST create' do -- cgit v1.2.1