Updates GraphQL cache with latest addOnPurchase
What does this MR do and why?
Updates GraphQL cache with latest addOnPurchase
details when assigning and un-assigning code suggestions add-on.
Also fixes an alignment issue with tooltip for unavailable add-on.
Related to #420010
Screenshots or screen recordings
Scneario | Screenshot |
---|---|
Updating add-on assignment | Screen_Recording_2023-08-07_at_12.34.09_PM |
Tooltip for unavailable addon |
How to set up and validate locally
-
Customers Dot needs to be setup in order to view the billing page for a group
-
Start GDK in SaaS mode
GITLAB_SIMULATE_SAAS=1 gdk start
-
Create a Group
-
Enable
enable_hamilton_in_usage_quotas_ui
FF (globally, or for your group) -
Buy a Subscription for your group from
Settings
>Billing
-
Visit
/groups/<your-namespace-name>/-/usage_quotas#seats-quota-tab
-
Purchase add-on for namespace
# Get the desired namespace namespace = Namespace.last # Create an add-on add_on = GitlabSubscriptions::AddOn.find_or_create_by!(name: "code_suggestions") {|e| e.description = "Test"} # Purchase add-ons for the namespace add_on_purchase = GitlabSubscriptions::AddOnPurchase.create!( add_on: add_on, namespace: namespace, expires_on: 1.month.from_now, quantity: 2, purchase_xid: 'A-S0001' )
-
Add this snippet here to enable add-on assignment. This enables the add-on assignment for the first 2 users in the list (as per
assignable
value).- Note: Make sure there are at least 3 users in the group if using the below snippet to update the first 3 members data.
state.members[0].add_ons = { assigned: [], assignable: [{ name: 'CODE_SUGGESTIONS' }] }; state.members[1].add_ons = { assigned: [], assignable: [{ name: 'CODE_SUGGESTIONS' }] }; state.members[2].add_ons = { assigned: [], assignable: [] };
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.