Add initial duo pro trial status widget
What does this MR do and why?
Add initial duo pro trial status widget
- core component, add widget itself only
- only focus on super sidebar implementation of it as super sidebar is fully cutover - see #458815 (comment 1886211505)
- see https://gitlab.com/gitlab-org/gitlab/-/issues/455880
- see #458848 for 30 days to 60 days change.
DB analysis: !151448 (diffs, comment 1887368743)
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
How to set up and validate locally
- Setup GDK to simulate SaaS
- Create a new top-level group.
- Go to admin panel and edit the group to apply the Ultimate plan.
- Add a duo pro trial to that namespace in the rails console
n = Namespace.last
add_on = ::GitlabSubscriptions::AddOn.where(name: ::GitlabSubscriptions::AddOn.names[:code_suggestions]).last
::GitlabSubscriptions::AddOnPurchase.create(add_on: add_on, namespace: n, quantity: 1, expires_on: 30.days.from_now, purchase_xid: SecureRandom.hex(16), trial: true, organization_id: 1)
- Visit the group page and verify widget seen.
- Create a project under that group and visit the project page and verify widget seen.
Related to #455880
Edited by Doug Stull