Skip to content

Create purchase flow URL builder

Josianne Hyson requested to merge jh/purchase_url_builder into master

What does this MR do and why?

Create purchase flow URL builder for use in a number of upcoming issues:

  1. https://gitlab.com/gitlab-org/gitlab/-/issues/468097+
  2. https://gitlab.com/gitlab-org/gitlab/-/issues/461743+

The conditions for creating a purchase flow URL will become more complex as we iteratively migrate customers to CustomersDot. This MR creates a class dedicated to constructing a purchase flow URL based on these conditions.

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

This is mostly a refactor, there should be no behavioural changes when the FF is disabled. When it's enabled, they should be sent straight to CustomersDot.

Scenario From master: FF Disabled FF Enabled:
New premium purchase CleanShot_2024-06-20_at_17.01.14_2xCleanShot_2024-06-20_at_17.01.30_2x CleanShot_2024-06-20_at_17.23.14_2xCleanShot_2024-06-20_at_17.23.31_2x CleanShot_2024-06-20_at_16.35.28_2x CleanShot_2024-06-20_at_16.38.35_2x
New ultimate purchase CleanShot_2024-06-20_at_17.01.48_2xCleanShot_2024-06-20_at_17.02.02_2x CleanShot_2024-06-20_at_17.24.07_2xCleanShot_2024-06-20_at_17.23.56_2x CleanShot_2024-06-20_at_16.37.30_2x CleanShot_2024-06-20_at_16.38.08_2x
Upgrade to ultimate CleanShot_2024-06-20_at_17.00.21_2xCleanShot_2024-06-20_at_17.00.44_2x CleanShot_2024-06-20_at_17.22.10_2xCleanShot_2024-06-20_at_17.22.27_2x CleanShot_2024-06-20_at_16.50.38_2x CleanShot_2024-06-20_at_16.51.10_2x
Trial to premium purchase CleanShot_2024-06-20_at_16.57.54_2x CleanShot_2024-06-20_at_16.58.09_2x CleanShot_2024-06-20_at_17.19.00_2xCleanShot_2024-06-20_at_17.20.34_2x CleanShot_2024-06-20_at_16.52.14_2x CleanShot_2024-06-20_at_16.52.37_2x
Trial to ultimate purchase CleanShot_2024-06-20_at_16.58.40_2xCleanShot_2024-06-20_at_16.58.29_2x CleanShot_2024-06-20_at_17.20.48_2xCleanShot_2024-06-20_at_17.21.00_2x CleanShot_2024-06-20_at_16.53.02_2x CleanShot_2024-06-20_at_16.53.26_2x
Customer with no last name CleanShot_2024-06-20_at_16.56.14_2x CleanShot_2024-06-20_at_16.56.28_2x CleanShot_2024-06-20_at_17.05.10_2xCleanShot_2024-06-20_at_17.05.38_2x CleanShot_2024-06-20_at_16.55.10_2x CleanShot_2024-06-20_at_16.55.32_2x

How to set up and validate locally

Start CustomersDot and the GDK.

Set up the scenarios in the above table, and confirm they link to the correct place.

Edited by Josianne Hyson

Merge request reports