Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/resource/group_base.rb')
-rw-r--r--qa/qa/resource/group_base.rb40
1 files changed, 32 insertions, 8 deletions
diff --git a/qa/qa/resource/group_base.rb b/qa/qa/resource/group_base.rb
index 263c2ca2aeb..0972bc32966 100644
--- a/qa/qa/resource/group_base.rb
+++ b/qa/qa/resource/group_base.rb
@@ -22,8 +22,14 @@ module QA
# Get group projects
#
# @return [Array<QA::Resource::Project>]
- def projects
- parse_body(api_get_from("#{api_get_path}/projects")).map do |project|
+ def projects(auto_paginate: false)
+ response = if auto_paginate
+ auto_paginated_response(request_url("#{api_get_path}/projects", per_page: '100'))
+ else
+ parse_body(api_get_from("#{api_get_path}/projects"))
+ end
+
+ response.map do |project|
Project.init do |resource|
resource.add_name_uuid = false
resource.api_client = api_client
@@ -39,8 +45,14 @@ module QA
# Get group labels
#
# @return [Array<QA::Resource::GroupLabel>]
- def labels
- parse_body(api_get_from("#{api_get_path}/labels")).map do |label|
+ def labels(auto_paginate: false)
+ response = if auto_paginate
+ auto_paginated_response(request_url("#{api_get_path}/labels", per_page: '100'))
+ else
+ parse_body(api_get_from("#{api_get_path}/labels"))
+ end
+
+ response.map do |label|
GroupLabel.init do |resource|
resource.api_client = api_client
resource.group = self
@@ -55,8 +67,14 @@ module QA
# Get group milestones
#
# @return [Array<QA::Resource::GroupMilestone>]
- def milestones
- parse_body(api_get_from("#{api_get_path}/milestones")).map do |milestone|
+ def milestones(auto_paginate: false)
+ response = if auto_paginate
+ auto_paginated_response(request_url("#{api_get_path}/milestones", per_page: '100'))
+ else
+ parse_body(api_get_from("#{api_get_path}/milestones"))
+ end
+
+ response.map do |milestone|
GroupMilestone.init do |resource|
resource.api_client = api_client
resource.group = self
@@ -71,8 +89,14 @@ module QA
# Get group badges
#
# @return [Array<QA::Resource::GroupBadge>]
- def badges
- parse_body(api_get_from("#{api_get_path}/badges")).map do |badge|
+ def badges(auto_paginate: false)
+ response = if auto_paginate
+ auto_paginated_response(request_url("#{api_get_path}/badges", per_page: '100'))
+ else
+ parse_body(api_get_from("#{api_get_path}/badges"))
+ end
+
+ response.map do |badge|
GroupBadge.init do |resource|
resource.api_client = api_client
resource.group = self