-
Notifications
You must be signed in to change notification settings - Fork 43
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
PIMS-1929: Unknown status for project notifications #2628
Conversation
🚀 Deployment Information The Express API Image has been built with the tag: |
Code Climate has analyzed commit 2dd9689 and detected 0 issues on this pull request. The test coverage on the diff in this pull request is 100.0% (50% is the threshold). This pull request will bring the total coverage in the repository to 93.7%. View more on Code Climate. |
🚀 Deployment Information The React APP Image has been built with the tag: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested following the instructions in the PR.
Everything seems to work as expected. Messages set to Not Found if CHES gives 404 back.
Please merge after test coverage is added.
🎯 Summary
PIMS-1929:
Changes
Added 2 new notification statuses to handle 404, and 422 responses from the CHES api: https://ches.api.gov.bc.ca/api/v1/docs#tag/Message/operation/GetStatusQuery
I can't seem to catch the 401 unauthorized response from CHES, this may need handling in the controller.
Testing
Since most of the notifications you will have in your localhost are from production, you can use the CHES dev credentials in your .env, then create a new project. To trigger a 404 not found, you can change one of the characters in the ChesMessageId column for the record in the NotificationQueue table where the notifications are stored.
With existing projects from production, you should still see all the "completed" notifications, but the ones that were in a pending state will most likely display as "Not Found" if you are using the CHES dev credentials.
Triggering a 422 is kind of tricky and I haven't found a way of doing it other than hard coding the request using an incorrectly formatted CHES Message id which is missing one character for example.
🔰 Checklist