Add pagination to members Pending promotion tab
What does this MR do and why?
This is a third step in #433174 (closed), it adds pagination to the Promotions tab component.
Here's the MR plan
| this MR | MR plan | status | 
|---|---|---|
| Custom Component for the tab | workflowcomplete | |
| Custom store or Apollo store | workflowin review | |
| Pagination | workflowin dev | |
| Add the table with a proper UI | (TBC) | |
| Remove the export button | (TBC) | |
| Post refactoring (defined below) | (TBC) | 
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
| Before | After | 
|---|---|
| N/A |  | 
How to set up and validate locally
Set up steps are similar to other MRs in this issue.
- Have an Ultimate License, and simulate Ultimate Self Managed setup (export GITLAB_SIMULATE_SAAS=0)
- Enable Setting setting = ApplicationSetting.first; setting.enable_member_promotion_management=true; setting.save!
- Enable FF Feature.enable(:member_promotion_management)
- Create promotion requests:
- Visit any Group as an owner of that group (e.g. http://127.0.0.1:3000/groups/gitlab-org/-/group_members)
- try promoting a non-billable GUEST member to a DEVELOPER role (this member should be non-billable on the whole instance, i.e. have a highest role as guest, see !149094 (comment 1869616221) for details)
- you should see a banner saying "Role change request was sent to the administrator." — this means a promotion request has been created
- create several requests to test pagination
 
- Visit any Group as an owner of that group (e.g. 
- Open Group or Project members page
- You probably won't see pagination yet, as currently the page limit 50 entries, there's a patch below to reduce that limit
patch
diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb
index 94f4dfd90b4d..cff0e723af5a 100644
--- a/app/controllers/groups/group_members_controller.rb
+++ b/app/controllers/groups/group_members_controller.rb
@@ -6,7 +6,7 @@ class Groups::GroupMembersController < Groups::ApplicationController
   include SortingHelper
   include Gitlab::Utils::StrongMemoize
 
-  MEMBER_PER_PAGE_LIMIT = 50
+  MEMBER_PER_PAGE_LIMIT = 1
 
   def self.admin_not_required_endpoints
     %i[index leave request_access]
diff --git a/ee/app/controllers/ee/groups/group_members_controller.rb b/ee/app/controllers/ee/groups/group_members_controller.rb
index b6783688e771..9c95057bc0f3 100644
--- a/ee/app/controllers/ee/groups/group_members_controller.rb
+++ b/ee/app/controllers/ee/groups/group_members_controller.rb
@@ -6,7 +6,7 @@ module GroupMembersController
       extend ActiveSupport::Concern
       extend ::Gitlab::Utils::Override
 
-      MEMBER_PER_PAGE_LIMIT = 50
+      MEMBER_PER_PAGE_LIMIT = 1
 
       class_methods do
         extend ::Gitlab::Utils::Override- With lowered limit — you should see pagination, and it should work as regular pagination.
Edited  by Kos Palchyk