Premium messaging during active trial experiment - Part 1
What does this MR do and why?
Add an experiment to change combined trial widget title. This is only the first part. The second one will also include project banner for multiple pages.
References
Screenshots or screen recordings
| Before | After |
|---|---|
![]() |
![]() |
How to set up and validate locally
- Apply patch:
Click to expand
diff --git a/ee/app/services/gitlab_subscriptions/create_lead_service.rb b/ee/app/services/gitlab_subscriptions/create_lead_service.rb
index ebfbe3de9d4a..58b7324d5bce 100644
--- a/ee/app/services/gitlab_subscriptions/create_lead_service.rb
+++ b/ee/app/services/gitlab_subscriptions/create_lead_service.rb
@@ -3,6 +3,7 @@
module GitlabSubscriptions
class CreateLeadService
def execute(company_params)
+ return ServiceResponse.success
company_params.merge!(with_add_on: true, add_on_name: 'duo_enterprise')
response = client.generate_trial(company_params)
- Setup gdk to simulate SaaS - https://docs.gitlab.com/ee/development/ee_features.html#simulate-a-saas-instance and restart GDK
- Sign out. Visit
/rails/features/. - Enable
premium_message_during_trial. - Visit
/-/trial_registrations/new. Submit the form. - Finish registrations.
bin/rails c
Group.last.gitlab_subscription.update(hosted_plan: Plan.find_by(name: 'ultimate_trial'), trial: true, trial_starts_on: 0.days.ago, trial_ends_on: 30.day.from_now)
GitlabSubscriptions::AddOnPurchase.create(subscription_add_on_id: GitlabSubscriptions::AddOn.find_by(name: 'duo_enterprise').id, namespace: Group.last, started_at: 0.days.ago, expires_on: 30.day.from_now, trial: true, quantity: 1, purchase_xid: '1', organization_id: 1)
- Reload the page.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #562184
Edited by Serhii Yarynovskyi

