The intent of this development is to build a product that will support digital procurement needs for the BC Government including services such as, but not limited to, Sprint With Us, Code With Us, The Procurement Concierge.
@sutherlanda, not sure if you ran any migrations for the last meeting, but if you did, you should migrate down before applying these because I changed src/migrations/tasks/20240718222006_swu-evaluation-tables.ts.
There's a lot to critique, but I want to see if this create endpoint fits into the overall flow for "in-app evaluations" and if it fulfills some of the requirements we discussed last time; I'll try to map it to JIRA tickets when possible and I've included a rough diagram to try help you visualize things:
When the opportunity closes, use a new status, i.e. SWUOpportunityStatus.TeamQuestionsPanelEvaluation to represent that it's in the panel evaluation state
Note: I haven't actually changed this to being the opportunity state when it closes yet
When the user is viewing a proposal for evaluation (haven't determined the format for the URL yet), the application will load an existing evaluation if there is one, or allow the user to submit a new draft. (Relates to DMM-417 and DMM-418).
The endpoint in this PR will be used to submit drafts; the design seems to imply that submission should be handled from the overview screen detailed in DMM-417's Figma design.
I can discuss with the rest of the team to see if submission from the overview screen is a strict requirement, as I think there could be some issues with validation user experience.
Assuming everything's good to go here, my plan is to:
Add read and readMany endpoints for use in the UIs
Add an update endpoint for editing drafts and submitting evaluations
Implement some sort of check that ensures all individual evaluations have been submitted to move the proposal into the consensus stage when submitting evaluations (Relates to DMM-420
The consensus will follow a similar format to individual evaluation, except it looks like individual evaluators need to be able to agree to consensus (relates to DMM-445.
This is another requirement I'll need to check on as there doesn't seem to be any way to reject the consensus and I'm not sure how up to date it is.
FYI, I've tested this manually using postman and by manipulating the database, but I decided to hold back on automated tests because I wanted to make sure I was on the right track first. I'll include those in the next PR when we're on the same page.
@sutherlanda, not sure if you ran any migrations for the last meeting, but if you did, you should migrate down before applying these because I changed src/migrations/tasks/20240718222006_swu-evaluation-tables.ts.
There's a lot to critique, but I want to see if this create endpoint fits into the overall flow for "in-app evaluations" and if it fulfills some of the requirements we discussed last time; I'll try to map it to JIRA tickets when possible and I've included a rough diagram to try help you visualize things:
Assuming everything's good to go here, my plan is to:
FYI, I've tested this manually using postman and by manipulating the database, but I decided to hold back on automated tests because I wanted to make sure I was on the right track first. I'll include those in the next PR when we're on the same page.