flexion / ef-cms

An Electronic Filing / Case Management System.
23 stars 10 forks source link

BUG: User cannot update their contact information #10197

Closed mmarcotte closed 9 months ago

mmarcotte commented 10 months ago

Describe the Bug

After updating a user's contact information, subsequent attempts to update their information fails because it says Update already in progress. Please try again later..

This may only occur for users who are not associated with any cases. See below for more details:

Business Impact/Reason for Severity

In which environment did you see this bug?

Every

Who were you logged in as?

Practitioner

What were you doing when you discovered this bug? (Using the application, demoing, smoke tests, testing other functionality, etc.)

Responding to Helpdesk ticket and replicating steps reported

To Reproduce

Steps to reproduce the behavior:

  1. Login as a Practitioner with no cases. (this will likely work when modifying the contact information for any user not associated with any cases)
  2. Modify the contact information by changing the phone number
  3. The process should complete quickly. The UI will look broken because there was no websocket message informing the client that the change completed.
  4. Try to update the contact information again, perhaps the phone number, and you should see the message in the description.

Expected Behavior

Users should be able to update their contact information after the initial attempt to update their contact information completes.

Actual Behavior

They get stuck in a place where they appear to be updating their contact information, but in fact that's not the case. They are unable to update their contact information again as they see the message Update already in progress. Please try again later..

Screenshots

Screenshot 2023-11-21 at 1 49 55 PM Screenshot 2023-11-21 at 1 49 34 PM

Cause of Bug, If Known

The work of informing the frontend as well as toggling the isUpdatingInformation flag to False is completed by the last execution of the lambda that the SQS queue triggers. However, if the user doesn't have any cases, that Lambda never fires.

We can set this flag in the original interactor if they don't have any cases and we aren't going to be creating any events in the SQS queue to process.

isUpdatingInformation gets stuck to true

Process for Logging a Bug:

Severity Definition:

Definition of Ready for Bugs(Created 10-4-21)

Definition used: A failure or flaw in the system which produces an incorrect or undesired result that deviates from the expected result or behavior. (Note: Expected results are use cases that have been documented in past user stories as acceptance criteria and test cases, and do not include strange behavior unrelated to use cases.)

The following criteria must be met in order for the development team to begin work on the bug.

The bug must:

Process: If the unexpected results are new use cases that have been identified, but not yet built, new acceptance criteria and test cases should be captured in a new user story and prioritized by the product owner.

If the Court is not able to reproduce the bug, add the “Unable to reproduce” tag. This will provide visibility into the type of support that may be needed by the Court. In the event that the Court cannot reproduce the bug, the Court will work with Flexion to communicate what type of troubleshooting help may be needed.

Definition of Done (Updated 4-14-21)

Product Owner

Engineering

ttlenard commented 9 months ago

@cruzjone-flexion Testing looks good. Thank you!