Conflict Declarations integrated between FE and BE
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