Skip to content

Conflict Declarations integrated between FE and BE

Mark Ferguson requested to merge STT-1162-self-id-conficts into main

In Draft due to the outstanding issue of exhausting database connections when running the full suite of tests. UPDATE: issue is due to the behavior of fixtures requiring a connection/session when used in a parameterized test. A new story, STT-1179, was created to explore options to work around this behavior. In the meantime, max_connections for Postgres have been raised across our docker-compose files to provide headroom for additional test development related to other stories.

Beyond the above issue - items of note in this MR

Frontend

  • now enforces user to certify all conflict declarations at one time
  • FE won't allow Certify Conflict Declarations button until all CDs are in a state other than Unknown
  • based on input from Allie, I implemented a user flow that has the SRP member certify all their CDs; then, if there are corrections to make (e.g. Autoconflict needs to be changed), the TTA member can make those changes. This flow is outlined in STT-1162

Backend

  • to support the above, the update conflict declarations endpoint has been relaxed slightly so that if a current state matches the desired state, no action is taken on that CD. This allows the full list of a user's CDs to be passed from the front end, and CDs that are, for example, already marked AutomaticallyConflicted to be sent through the state transition validator and complicate the associated logic.
  • the update conflict declarations endpoint now also checks if all of the reviewer's CDs have been certified. If so, the are_conflicts_certified on the scienceReviewer is set to True, as the FE depends on this to update the UI properly.
Edited by Mark Ferguson

Merge request reports