[ENG] Show more info on hover of trial status in sidebar
What does this MR do?
- Adds a popover to the Trial Status Widget in the Group-level sidebar
- The popover has more details about their trial status and CTAs to upgrade their plan
- This MR also fixes some of the translations & a text display issue
Note: This MR does not include a Changelog entry or any documentation updates since it is part of an experiment which is behind a feature flag.
Screenshots
Before | After |
---|---|
Screen_Recording_2021-02-14_at_2.27.11_PM | Screen_Recording_2021-02-14_at_2.25.09_PM |
To Test Locally
-
(Optional): If you want to be able to access the pricing pages, install the CustomersDot app:
-
Configure the GDK & CustomersDot apps to point to each other
-
Boot up the CustomersDot app:
In one shell session:
cd /path/to/customers-gitlab-com ngrok http 5000 --subdomain=<your-subdomain>
In another shell session:
cd /path/to/customers-gitlab-com pg_ctl start bundle exec foreman start
-
Turn on the new pricing tiers feature in CustomersDot
cd /path/to/customers-gitlab-com bin/spring rails c
Then in the Rails console:
Feature.enable(:eoa_starter_bronze_enabled)
-
Run the following commands to setup the GitLab application:
# Navigate to the `gitlab` project within GDK cd /path/to/gdk/gitlab # Ensure the GDK is running gdk start # Hop into the Rails console bin/spring rails c
Then in the Rails console:
# Turn on billing features in the app ApplicationSetting.first.update(check_namespace_plan: true) # Turn on the feature flag for the experiment Feature.enable_percentage_of_time(:show_trial_status_in_sidebar_experiment_percentage, 100) # Create a new User user = FactoryBot.create(:user, username: 'user_288015', email: 'user.288015@example.org', password: '12345678') # Create a new Group & assign the new user as its owner group = FactoryBot.create(:group) group.add_owner(user) # Find or create the Ultimate plan plan = Plan.create_with(title: 'Ultimate (Formerly Gold)').find_or_create_by(name: :ultimate) # Create a new subscription for the Group GitlabSubscription.create(namespace: group, hosted_plan: plan, seats: 10, start_date: Date.current, end_date: Date.current.advance(years: 1), trial: true, trial_starts_on: Date.current, trial_ends_on: Date.current.advance(days: 30))
-
Log into the app with username
user_288015
and password12345678
-
Navigate to Groups › Your Groups › “group1” (or whatever the group was named)
-
Check out the feature in the sidebar
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
-
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. - [-] Tested in all supported browsers
- [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team
Related to #288015 (closed)