Skip to content

[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

  1. Install & configure the GDK

  2. (Optional): If you want to be able to access the pricing pages, install the CustomersDot app:

    1. Install & set up the CustomersDot application

    2. Configure the GDK & CustomersDot apps to point to each other

    3. 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
    4. 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)
  3. 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))
  4. Log into the app with username user_288015 and password 12345678

  5. Navigate to Groups › Your Groups › “group1” (or whatever the group was named)

  6. Check out the feature in the sidebar

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

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)

Edited by Dallas Reedy

Merge request reports