Approve/Decline Registration Application - Buttons and Statuses
📖 User Story
As an Examiner or Manager,
I want to approve or reject an application within the system,
so that the decision is clearly recorded on the application, I can confirm any rejections or status changes, and I can update the Registration status appropriately.
Context:
This user story focuses on the approval and rejection process for registration applications. It includes scenarios where the Examiner confirms actions through modal dialogs, updates application and registration statuses accordingly, and ensures the visibility of the "Issue Certificate" button when an application is approved (without performing certificate issuance actions).
📏 Business Rules
- [ ] Ensure that the system prevents duplicate approvals or rejections by greying out the relevant buttons after the action is taken.
- [ ] Modal dialogs must require user confirmation before any irreversible actions, such as rejecting an application or changing its status from "Rejected" to "Approved."
- [ ] The system must log every decision (approval, rejection, status change) with a timestamp in the Filing History for audit purposes.
- [ ] Ensure that the "Issue Certificate" button only becomes visible when the application status is "Approved."
- [ ] If the application status is "Full Review Approval" and the Examiner clicks "Reject," a modal should appear to confirm the rejection and allow the selection of a new Registration status: Expired, Suspended, or Cancelled.
- [ ] Upon approval of an application, the status in the Registration table must be updated to "Active."
- [ ] Upon rejection of an application with "Full Review Approval" status, the Registration status must be updated based on the selection in the modal: Expired, Suspended, or Cancelled.
🎭 Story Scenarios
Scenario 1: Approve Application
Given the Examiner is on the application details page:
-
When the Examiner clicks the "Approve" button:
- Then the application status changes to "Approved."
- And the "Approve" button is greyed out.
- And the "Issue Certificate" button becomes visible (without performing certificate issuance actions).
- And the "Reject" button is greyed out.
- And the status in the Registration table is updated to "Active."
- And a record of the decision is logged in the Filing History with a timestamp.
- And the application is moved out of the "Full Review" filter and into the "All" filter.
💡 Considerations
- Ensure the modal confirmation process is clear and that Examiners are required to select a Registration status before completing a rejection with "Full Review Approval" status.
- Verify that the Registration table status updates based on the selected status (Expired, Suspended, Cancelled) are implemented correctly.
- Ensure that the modal for confirming the status change from "Rejected" to "Approved" is clearly implemented and follows the steps in Scenario 1 when confirmed.
- Confirm that the "Approve" button remains active after a rejection, allowing for a second review as part of the MVP.
- Ensure the logic for greying out the "Reject" button after approval or rejection is properly implemented.
🌐 Accessibility Scenarios
Keyboard Users
Scenario: Comprehensive Keyboard Navigation Given I am a keyboard user on the website When I use the Tab key to navigate through the website Then all interactive elements should be accessible and highlighted And I should be able to activate these elements using the Enter or Space key
Scenario: Full Content Accessibility via Keyboard Given I am a keyboard user navigating the website When I traverse through different pages and sections Then all content should be fully accessible using the keyboard alone And there should be no traps that prevent me from navigating away using the keyboard
Screen Reader Users
Scenario: Accessible Image Descriptions Given I am using a screen reader on the website When I encounter images Then each image should have descriptive alt text that conveys the same message as the image
Scenario: Structured Navigation for Screen Readers Given I am navigating the website using a screen reader When I move through different page elements Then the content should be structured with proper headings And the reading order should be logical and sequential
Scenario: Descriptive Form Fields Given I am filling out a form using a screen reader When I navigate through the form fields Then each field should be clearly labeled with descriptive text And instructions should be directly associated with their respective inputs
Low Vision Users
Scenario: Effective High Contrast Mode Given I am a user with low vision on the website When I enable high contrast mode Then all content should display with high color contrast suitable for low vision And the layout should remain coherent and unchanged
Scenario: Text Resizing Accommodation Given I am a user with low vision on the website When I increase the text size Then the text should resize without loss of information or functionality And the page layout should adapt accordingly without disrupting the user experience
Scenario: Personalized Styling Preferences Given I am a user with low vision adjusting settings on the website When I customize my styling preferences, including colors, fonts, and spacing Then these adjustments should be applied consistently across all pages And the changes should persist during my entire session or until altered by me
🌍 Global Scenarios
## Data Validation # Mikaela to confirm: Do we need to do these for MVP - data validation required for inputing data in the right format - as defined by business rules.Internet Connection
Standard Internet Connection
Given I am accessing the website from a standard internet connection When I navigate to any page on the site Then the page should load completely within 2 seconds, ensuring a fast and efficient user experience.
Low-Speed Internet
Given a user accesses "Application Details View" with a low-speed internet connection defined as under [specific speed] Mbps When the user attempts to load and interact with the dashboard page Then the "Application Details View" should prioritize critical content and functionality, loading essential elements first to ensure usability.
Mobile Responsiveness
Given I am accessing "Application Details View" on a mobile device When I click on the "any" link Then "_____ " should display correctly and be easily editable on my device, ensuring a responsive design.
@mbertucci need to think about how the status change once we approve/decline the application
tested and worked. So the step is to issue certificate first and then click approve or deny to move them out of the full review tab.

took this out at this should not happen in the application
Scenario 2: Reject Application with "Full Review Approval" Status - take this out as the application status would not change as they did approve it but later cancelled the registration there should still be a record of what happened in the application.. leaving for re
Given the application status is "Full Review Approval,"
When the Examiner clicks the "Reject" button,
Then a modal appears asking the Examiner to confirm the rejection,
And the modal requires the Examiner to select the appropriate Registration status: Expired, Suspended, or Cancelled,
And if the Examiner selects:
- Expired, then the Registration table status updates to "Re-Apply," and the application status updates accordingly,
- Suspended, then the Registration table status updates to "Pending Review," and the application status updates accordingly,
-
Cancelled, then the Registration table status updates to "Declined," and the application status updates accordingly,
And the rejection is confirmed and logged in the Filing History with a timestamp.
Comments re: "If the application status is "Full Review Approval" and the Examiner clicks "Reject," a modal should appear to confirm the rejection and allow the selection of a new Registration status: Expired, Suspended, or Cancelled." and " Upon rejection of an application with "Full Review Approval" status, the Registration status must be updated based on the selection in the modal: Expired, Suspended, or Cancelled."
- Should be able to select new reg status of "denied, suspended or cancelled
- Registration status should automatically change to "expired" after the expiry date - maybe a new story here @fionazhou-jsb
"Upon rejection of an application with "Full Review Approval" status, the Registration status must be updated based on the selection in the modal: Expired, Suspended, or Cancelled."
- comment: Reject button should not be greyed out since examiner may do an audit or investigation, discover fraud and need to cancel the registration
@stcepeda I'm splitting this story in to two .. initial review and then the second story is if it has already been approved..
Hey team! Please add your planning poker estimate with Zenhub @avni-work @shaangill025 @dimak1 @kris-daxiom
This is already done
Estimate is for verifying this works, no modal
but I want to verify that it works
@kris-daxiom with full review, when will the registration number be created? Upon clicking "approve" or "issue certificate" button? cc @mbertucci
ticket created to ensure examiner name shows up in filing history @23989