Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Toxic Exposure 1.1: ModProd - devise mechanism to allow ModProd tester to be in in progress without startedFormVersion: 2022 #94191

Closed
5 tasks
aurora-a-k-a-lightning opened this issue Oct 2, 2024 · 1 comment
Assignees
Labels
backend DBEX-TREX Disability Benefits Experience - Team T-Rex disability-experience engineering Engineering topics frontend

Comments

@aurora-a-k-a-lightning
Copy link
Contributor

aurora-a-k-a-lightning commented Oct 2, 2024

As a Veteran I want the Toxic Exposure release for Vets with an in progress form (IPF) to be tested thoroughly so that it works as expected when it's released to Veterans with an IPF.

To do that, VA and DBEX will perform a Moderated Production (ModProd) Test for TE 1.1, similar to what we did with TE 1.0. However, since we will be at 100% for TE 1.0 before we do the ModProd there's no graphical way to put a user in the state we need them to be in to do Moderated Production Testing, unless they have a form in progress pre-1.0 rollout, which is highly unlikely.

This is because the user will always have a new form with the 2022/TE flow, and we can't put them in a state with the InProgressForm not having it.

This task must be completed before

Tasks

  • Test each of the below options in Staging to understand which one works
  • Documenting the approach

Acceptance Criteria

  • When we perform ModProd, we have a way to put testers in an IPF flow in Production
  • The IPF flow is verified to work as expected
  • This process is documented in detail in the ModProd playbook

Additional Information

Possible Solutions:

  1. Is there a way to turn off disability_compensaton_toxic_exposure Flipper flag for one user while it is enabled for everyone (100%)?
    Flipper.disable(:disability_compensaton_toxic_exposure, {flipper_id: 'email address'})
  2. not in sandbox mode in production database (seth), would removing the startedFormVersion the formData of the InProgressForm work?
@mchae-nava
Copy link
Contributor

mchae-nava commented Oct 29, 2024

  • Approach 1 will not work without some convoluted workaround. disable for a single user (or group) does not exist, and is apparently against Flipper's design philosophy
    • Attempted a workaround using user Groups including the entire user population and excluding specific users, neither practical nor simple for our use case
    • Attempted a workaround using a second flag to disable for specific users; this code would have to be deleted and has potential to cause unnecessary logical branches
  • Instead, we can update the started_form_version in the IPF once the form has been started. This avoids unnecessary code changes, additional flags, or complicated workarounds
  • Tested the use case in staging when a user has started a form without TE and then continued after TE enabled
  • Updated the ModProd document

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend DBEX-TREX Disability Benefits Experience - Team T-Rex disability-experience engineering Engineering topics frontend
Projects
None yet
Development

No branches or pull requests

2 participants