entity icon indicating copy to clipboard operation
entity copied to clipboard

Approve/Decline Registration Application - Buttons and Statuses

Open fionazhou-jsb opened this issue 1 year ago • 3 comments

📖 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.

fionazhou-jsb avatar Jul 04 '24 21:07 fionazhou-jsb

@mbertucci need to think about how the status change once we approve/decline the application

fionazhou-jsb avatar Jul 16 '24 18:07 fionazhou-jsb

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. image.png

fionazhou-jsb avatar Jul 23 '24 23:07 fionazhou-jsb

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.

mbertucci avatar Sep 06 '24 00:09 mbertucci

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 avatar Oct 04 '24 19:10 stcepeda

@stcepeda I'm splitting this story in to two .. initial review and then the second story is if it has already been approved..

mbertucci avatar Oct 06 '24 17:10 mbertucci

Hey team! Please add your planning poker estimate with Zenhub @avni-work @shaangill025 @dimak1 @kris-daxiom

jdyck-fw avatar Oct 07 '24 17:10 jdyck-fw

This is already done

mbertucci avatar Oct 07 '24 17:10 mbertucci

Estimate is for verifying this works, no modal

jdyck-fw avatar Oct 07 '24 17:10 jdyck-fw

but I want to verify that it works

mbertucci avatar Oct 07 '24 17:10 mbertucci

@kris-daxiom with full review, when will the registration number be created? Upon clicking "approve" or "issue certificate" button? cc @mbertucci

fionazhou-jsb avatar Oct 08 '24 20:10 fionazhou-jsb

ticket created to ensure examiner name shows up in filing history @23989

mbertucci avatar Oct 23 '24 20:10 mbertucci