Create purchase flow URL builder
What does this MR do and why?
Create purchase flow URL builder for use in a number of upcoming issues:
- https://gitlab.com/gitlab-org/gitlab/-/issues/468097+
- 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 |
![]() ![]() |
![]() ![]() |
![]() ![]() |
New ultimate purchase |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Upgrade to ultimate |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Trial to premium purchase |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Trial to ultimate purchase |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Customer with no last name |
![]() ![]() |
![]() ![]() |
![]() ![]() |
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