summaryrefslogtreecommitdiff
path: root/spec/controllers/groups/group_members_controller_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-13 15:08:02 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-13 15:08:02 +0000
commit4eeb6b0d16021ab4a730eec4610eff2606421147 (patch)
tree488db828fe58f1e80dc5415970e4c929db7e4c4b /spec/controllers/groups/group_members_controller_spec.rb
parent8cc5f2790908ba9bb8eecba2b78a3c5a88c77b90 (diff)
downloadgitlab-ce-4eeb6b0d16021ab4a730eec4610eff2606421147.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers/groups/group_members_controller_spec.rb')
-rw-r--r--spec/controllers/groups/group_members_controller_spec.rb31
1 files changed, 30 insertions, 1 deletions
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