Skip to content

Commit

Permalink
Merge pull request #641 from sourcelevel/add-all-group-members-endpoint
Browse files Browse the repository at this point in the history
Add all group members endpoint
  • Loading branch information
NARKOZ committed Apr 27, 2022
2 parents e6cfd10 + c1a3930 commit cbd9e32
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
15 changes: 15 additions & 0 deletions lib/gitlab/client/groups.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,21 @@ def group_members(id, options = {})
get("/groups/#{url_encode id}/members", query: options)
end

# Gets a list of all group members including inherited members.
#
# @example
# Gitlab.all_group_members(1)
# Gitlab.all_group_members(1, { per_page: 40 })
#
# @param [Integer] id The ID of a group.
# @param [Hash] options A customizable set of options.
# @option options [Integer] :page The page number.
# @option options [Integer] :per_page The number of results per page.
# @return [Array<Gitlab::ObjectifiedHash>]
def all_group_members(id, options = {})
get("/groups/#{url_encode id}/members/all", query: options)
end

# Get a list of descendant groups of a group.
#
# @example
Expand Down
17 changes: 17 additions & 0 deletions spec/gitlab/client/groups_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,23 @@
end
end

describe '.all_group_members' do
before do
stub_get('/groups/3/members/all', 'group_members')
@all_members = Gitlab.all_group_members(3)
end

it 'gets the correct resource' do
expect(a_get('/groups/3/members/all')).to have_been_made
end

it "returns information about a group's members" do
expect(@all_members).to be_a Gitlab::PaginatedResponse
expect(@all_members.size).to eq(2)
expect(@all_members[1].name).to eq('John Smith')
end
end

describe '.group_descendants' do
before do
stub_get('/groups/3/descendant_groups', 'group_descendants')
Expand Down

0 comments on commit cbd9e32

Please sign in to comment.