Add new trial badge indicator
What does this MR do and why?
Experiment Implementation: Promote 'Ultimate' features on Learn GitLab.
This experiment is explicitly "targeting" Trial Signups. This includes trial registrations and automatic trials through sign up
Assuming the experiment is successful we will roll out this change to everyone on SaaS.
We also want to ensure we are only targeting "new" signups. A user who has been exposed to the existing Learn GitLab grouping should not be included in this experiment.
Migrate
== 20231115101002 AddPromoteUltimateFeaturesAtToOnboardingProgresses: migrating
-- add_column(:onboarding_progresses, :promote_ultimate_features_at, :datetime_with_timezone)
-> 0.0119s
== 20231115101002 AddPromoteUltimateFeaturesAtToOnboardingProgresses: migrated (0.0195s)
Rollback
== 20231115101002 AddPromoteUltimateFeaturesAtToOnboardingProgresses: reverting
-- remove_column(:onboarding_progresses, :promote_ultimate_features_at, :datetime_with_timezone)
-> 0.0071s
== 20231115101002 AddPromoteUltimateFeaturesAtToOnboardingProgresses: reverted (0.0238s)
Screenshots or screen recordings
Before | After |
---|---|
How to set up and validate locally
bin/rails console
> Feature.enable(:promote_ultimate_features)
- Setup gdk to simulate SaaS - https://docs.gitlab.com/ee/development/ee_features.html#simulate-a-saas-instance and restart GDK
- Switch to
master
branch. - Visit
/users/sign_up
. Submit the form. - On welcome page select
Just me
andCreate a new project
. - Submit the form.
- Enter group and project name. Finish registration.
bin/rails console
> GitlabSubscription.find_or_initialize_by(namespace: Group.last).update(trial: true, trial_starts_on: Date.yesterday, trial_ends_on: 30.days.from_now)
- Make sure learn gitlab page has
Included in trial
badges. - Sign out. Switch to
424506-promote-ultimate-features-on-learn-gitlab
branch. - Visit
/users/sign_up
. Submit the form. - On welcome page select
Just me
andCreate a new project
. - Submit the form.
- Enter group and project name. Finish registration.
- Make sure learn gitlab page has
Included in trial
badges.
bin/rails console
> GitlabSubscription.find_or_initialize_by(namespace: Group.last).update(trial: true, trial_starts_on: Date.yesterday, trial_ends_on: 30.days.from_now)
- Make sure learn gitlab page has
Premium
andUltimate
badges. - Hover any badge. Mare sure correct frontend event is generated.
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.
Related to #424506
Edited by Serhii Yarynovskyi