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

[dbx-num] add state machine to 526 #15240

Merged
merged 1 commit into from
Mar 21, 2024
Merged

[dbx-num] add state machine to 526 #15240

merged 1 commit into from
Mar 21, 2024

Conversation

SamStuckey
Copy link
Contributor

@SamStuckey SamStuckey commented Jan 23, 2024

Summary

NOTE: this is PR 3 of 3 to add this logic

The Problem

We are about to do an audit in cooperation with VBMS to determine the success of our past year of remediation efforts. Though VBMS is the source of truth, we need a way to easily mark submissions as conceptually 'done' or 'off our plate'.

To date, we have been using the presence of submitted_claim_id and backup_submitted_claim_id to represent success via the primary or backup submission path, respectively.

This did not account for our 'failsafe' remediations

Additionally, with a simple state machine in place we have a way to record the results of Lighthouse's status updates. Even after we send a submission to lighthouse, it isn't "off our plate" until LH has marked it as successful (status of vbms).

The solution

  • Add a basic state machine to the form 526 Submission flow with pass fail states for VBMS and remediation
  • Add other transitory states for completeness

Other stuff

  • add state changes everywhere it's applicable in our current code. This covers only a few of the available states, as it will take a while to backfill states (as part of our audit) and to implement our status polling (will inform state transitions).

Omissions

This work does not add any transition validation to the state machine. That would be out of scope for MVP, and dangerous to roll out as it could cause errors in the submission flow. MVP is to simply add the datapoint, unblocking our audit of VBMS.

Related issue(s)

Testing done

  • New code is covered by unit tests
  • Instantiation of affected objects and testing for continuity

Screenshots

Note: Optional

What areas of the site does it impact?

  • Form 526, but not in a veteran facing way. this will be used primarily for remediation of failed submissions, at least for MVP

Acceptance criteria

  • I fixed|updated|added unit tests and integration tests for each feature (if applicable).
  • No error nor warning in the console.
  • Events are being sent to the appropriate logging solution
  • Documentation has been updated (link to documentation)
  • No sensitive information (i.e. PII/credentials/internal URLs/etc.) is captured in logging, hardcoded, or specs
  • Feature/bug has a monitor built into Datadog or Grafana (if applicable)
  • If app impacted requires authentication, did you login to a local build and verify all authenticated routes work as expected
  • I added a screenshot of the developed feature

Requested Feedback

(OPTIONAL)What should the reviewers know in addition to the above. Is there anything specific you wish the reviewer to assist with. Do you have any concerns with this PR, why?

@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main January 23, 2024 22:40 In progress
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main January 23, 2024 22:40 Inactive
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main January 23, 2024 22:43 In progress
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main January 23, 2024 22:53 Inactive
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 6, 2024 22:03 In progress
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 6, 2024 22:33 Inactive
@SamStuckey SamStuckey force-pushed the add_state_machine_mvp branch from 2370131 to 7832703 Compare February 12, 2024 16:30
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 12, 2024 16:31 In progress
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 12, 2024 16:52 Inactive
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 12, 2024 20:42 In progress
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 12, 2024 21:37 In progress
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 12, 2024 21:38 Inactive
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 12, 2024 21:41 In progress
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 12, 2024 21:46 In progress
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 12, 2024 21:48 In progress
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 12, 2024 22:17 Inactive
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 13, 2024 18:19 In progress
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 13, 2024 18:43 In progress
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 13, 2024 19:26 Inactive
@va-vsp-bot va-vsp-bot requested a deployment to add_state_machine_mvp/main/main February 21, 2024 15:13 In progress
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 21, 2024 15:23 Inactive
@SamStuckey SamStuckey force-pushed the add_state_machine_mvp branch from 7fa6b61 to e54b000 Compare February 22, 2024 16:43
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 22, 2024 16:44 Inactive
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 22, 2024 16:50 Inactive
@SamStuckey SamStuckey force-pushed the add_state_machine_mvp branch from 99924dd to 297a807 Compare February 25, 2024 23:27
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 25, 2024 23:28 Inactive
@SamStuckey SamStuckey force-pushed the add_state_machine_mvp branch from 297a807 to d6ea601 Compare February 27, 2024 19:36
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main February 27, 2024 19:38 Inactive
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main March 13, 2024 15:27 Inactive
freeheeling
freeheeling previously approved these changes Mar 13, 2024
Copy link
Contributor

@freeheeling freeheeling left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

tblackwe
tblackwe previously approved these changes Mar 13, 2024
@SamStuckey
Copy link
Contributor Author

SamStuckey commented Mar 13, 2024

Marking this Ready for review with an outstanding linting error on my test, as I would consider it extraneous. The linting concern is about the stubbing of a method provided by an included module within the object I'm testing. The reason I can't (at least I haven't figured out how to) fix this, is that within_sidekiq_retries_exhausted_block doesn't recognize either the JobTracking module that define the problematic method if or the parent class into which the JobTracking module is composed.

I took a crack at updating our RSpec config to manually include these methods and even that was fruitless. Given that this is existing functionality that has nothing to do with my changes, and stubbing it allows for the testing of one of my use cases by simply not blocking the test from running, I feel like this is probably a fair exception to the rule

@SamStuckey SamStuckey marked this pull request as ready for review March 13, 2024 18:21
@SamStuckey SamStuckey requested review from a team as code owners March 13, 2024 18:21
@SamStuckey SamStuckey added the disability-compensation Label used for Pull Requests that impact Disability Compensation claims (526EZ) label Mar 14, 2024
@SamStuckey SamStuckey force-pushed the add_state_machine_mvp branch from 6115a82 to 59eb701 Compare March 14, 2024 20:26
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main March 14, 2024 21:17 Inactive
@SamStuckey SamStuckey dismissed stale reviews from freeheeling and tblackwe via 71ed302 March 15, 2024 15:24
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main March 15, 2024 15:33 Inactive
@SamStuckey SamStuckey force-pushed the add_state_machine_mvp branch from 71ed302 to aa2505b Compare March 19, 2024 19:08
@va-vfs-bot va-vfs-bot temporarily deployed to add_state_machine_mvp/main/main March 19, 2024 19:36 Inactive
@SamStuckey SamStuckey merged commit 4ad8a64 into master Mar 21, 2024
20 checks passed
@SamStuckey SamStuckey deleted the add_state_machine_mvp branch March 21, 2024 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
disability-compensation Label used for Pull Requests that impact Disability Compensation claims (526EZ)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants