Uploaded image for project: 'ui-users'
  1. ui-users
  2. UIU-454

Pay Fee/Fine

    XMLWordPrintable

    Details

    • Template:
    • Development Team:
      UNAM

      Description

      PURPOSE: To allow library staff to fully or partially pay one or more fees/fines for a patron. Staff member must have payment permission in order to be able to pay fees/fines.

      IMPORTANT NOTES:
      - John Coburn says that there is a component called <Callout> that you can use for success/error announcements
      - Paying fees/fines has two options: Regular Payment (covered by this user story) and Quick Paydown (covered by UIU-503)--work on this one first

      SCENARIOS:

      1. Scenario
        Given the Pay button Regular Payment option on the Open/All Fees/Fines page (see Option B on attached mock-up fee-fine-history-pay.jpg)
        When clicked with no row box checked
        Then display error message: "Must select at least one fee/fine to pay"
        (Note: The Pay button is not present on the Closed Fees/Fines page--only the Refund button is available on that page.)
      2. Scenario
        Given the Pay button Regular Payment option on the Open Fees/Fines page (see Option B on attached mock-up fee-fine-history-pay.jpg)
        When clicked with one row box checked
        Then open Pay Fee/Fine modal (see attached mock-up 1-Pay-Fee-Fine.png) with top line message indicating "Paying 1 fee/fine for a total amount of 99.99" (where 99.99 is total amount of the fee/fine)
      3. Scenario
        Given the Pay button Regular Payment option on the All Fees/Fines page (see Option B on attached mock-up fee-fine-history-pay.jpg)
        When clicked with one row box checked for a closed fee/fine
        Then highlight closed fee/fine row and display message: "Cannot pay a closed fee/fine"
      4. Scenario
        Given the Pay button Regular Payment option on the All Fees/Fines page (see Option B on attached mock-up fee-fine-history-pay.jpg)
        When clicked with one row box checked for an open fee/fine
        Then open Pay Fee/Fine modal (see attached mock-up 1-Pay-Fee-Fine.png) with top line message indicating "Paying 1 fee/fine for a total amount of 99.99" (where 99.99 is total amount of the fee/fine)
      5. Scenario
        Given the Pay button Regular Payment option on the Open Fees/Fines page (see Option B on attached mock-up fee-fine-history-pay.jpg)
        When clicked with two or more row boxes checked
        Then open Pay Fee/Fine modal (see attached mock-up 1-Pay-Fee-Fine.png) with top line message indicating "Paying X fees/fines for a total amount of 99.99" (where X is the total count of fees/fines being paid and 99.99 is total amount of fees/fines being paid)
      6. Scenario
        Given the Pay button Regular Payment option on the All Fees/Fines page (see Option B on attached mock-up fee-fine-history-pay.jpg)
        When clicked with two or more row boxes checked for one or more closed fees/fines
        Then highlight all of the closed fees/fines and display message with each one: "Cannot pay a closed fee/fine"
      7. Scenario
        Given the Pay button Regular Payment option on the All Fees/Fines page (see Option B on attached mock-up fee-fine-history-pay.jpg)
        When clicked with two or more row boxes checked and no closed fees/fines included
        Then open Pay Fee/Fine modal (see attached mock-up 1-Pay-Fee-Fine.png) with top line message indicating "Paying X fees/fines for a total amount of 99.99" (where X is the total count of fees/fines being paid and 99.99 is total amount of fees/fines being paid)
      8. Scenario
        Given the Pay ellipsis option on the Open Fees/Fines page (see Option C on attached mock-up fee-fine-history-pay.jpg)
        When clicked
        Then open Pay Fee/Fine modal (see attached mock-up 1-Pay-Fee-Fine.png) with top line message indicating "Paying 1 fee/fine for a total amount of 99.99" (where 99.99 is total amount of the fee/fine)
      9. Scenario
        Given the Pay ellipsis option on the All Fees/Fines page (see Option C on attached mock-up fee-fine-history-pay.jpg)
        When clicked for a closed fee/fine
        Then highlight closed fee/fine row and display message: "Cannot pay a closed fee/fine"
      10. Scenario
        Given the Pay ellipsis option on the All Fees/Fines page (see Option C on attached mock-up fee-fine-history-pay.jpg)
        When clicked for an open fee/fine
        Then open Pay Fee/Fine modal (see attached mock-up 1-Pay-Fee-Fine.png) with top line message indicating "Paying 1 fee/fine for a total amount of 99.99" (where 99.99 is total amount of the fee/fine)
      11. Scenario
        Given the Pay button on the Fee/Fine Details page (see Option B on attached mock-up fee-fine-details-pay.jpg)
        When clicked
        Then open Pay Fee/Fine modal (see attached mock-up 1-Pay-Fee-Fine.png) with top line message indicating "Paying 1 fee/fine for a total amount of 99.99" (where 99.99 is total amount of the fee/fine)
        Note: The Pay button will only appear on the Fee/Fine Details page for open fees/fines.
      12. Scenario
        Given the Pay Fee/Fine modal
        When displayed
        Then display information as shown in attached mock-up 1-Pay-Fee-Fine.png
        Total owed amount is the total amount of outstanding fees/fines
        Selected amount is the total amount selected for paying on the page the user just came from--this could be one fee/fine or many
        Pay amount a required field and is the amount selected to pay--when the modal first appears it will match the selected amount, but it could be changed by the user within this modal
        Remaining amount is the amount of outstanding fees/fines that will remain after the selected fees/fines are paid
        Payment method is a required field and is a list of options that is set in Settings=>Users=>Fee/Fine: Payment Methods
        Transaction information is an optional free-form text field
        Additional information is a required field if Settings=>Users=>Fee/Fine: Comment Required setting "Require comments when fee/fine fully/partially paid" is set to "yes" (If required, change "Additional information" to "Additional information*" and "Enter more information about the fee/fine payment (optional)" to "Enter more information about the fee/fine payment (required)" (as shown in attached mock-up 6-Pay-Fee-Fine-Comment-Required.png)_
        Notify patron is set to yes (checked) as the default--the user is able to uncheck this if they choose
        Cancel button will close the modal and go back to the page from which the user came
        Pay button will accept the information entered in the page and advance the user to the confirmation modal
      13. Scenario
        Given the Pay Fee/Fine modal
        When Pay Amount = null, zero, < 0
        Then display error message: "Pay amount must be greater than zero" (in location shown in attached mock-up 5-Pay-Fee-Fine-Pay-Error.png)
      14. Scenario
        Given the Pay Fee/Fine modal
        When Pay Amount > Selected Amount
        Then display error message: "Pay amount exceeds selected amount" (as shown in attached mock-up 5-Pay-Fee-Fine-Pay-Error.png)
      15. Scenario
        Given the Pay Fee/Fine modal
        When Pay Amount < Selected Amount
        Then what was originally a full payment becomes a partial payment
        Change message on first line to indicate that fees/fine will be partially paid for the lower dollar amount (for example, if the user changes the Pay Amount from 70.00 to 50.00, "Paying 2 fees/fines for a total amount of 70.00" becomes "Partially Paying 2 fees/fines for a total amount of 50.00"; "Paying 1 fee/fine for a total amount of 70.00" becomes "Partially Paying 1 fee/fine for a total amount of 50.00")
        If more than 1 fee/fine is selected for payment, the new Pay Amount will fully pay the smallest fee/fine selected first, the second smallest next, etc. leaving the largest fee/fine selected for last and mostly like partially paid
      16. Scenario
        Given the Pay Fee/Fine modal
        When Payment Method not selected
        Then display error message: "Please selected a payment method to continue"
      17. Scenario
        Given the Pay Fee/Fine modal
        When Additional Information required but not entered
        Then display error message: "Please enter additional information to continue"
      18. Scenario
        Given the Pay Fee/Fine modal
        When Cancel button clicked
        Then go back to page user came from (Open Fees/Fines, All Fees/Fines, or Fee/Fine Details)
      19. Scenario
        Given the Pay Fee/Fine modal
        When Pay button clicked
        Then open Confirm Fee/Fine Payment modal (as shown in attached mock-up 2-Confirm-fee-fine.png)
      20. Scenario
        Given the Confirm Fee/Fine Payment modal
        When displayed
        Then display information as shown in attached mock-up 2-Confirm-fee-fine.png, filling in the appropriate values for the amount, type of fee/fine, and type of payment (partially or fully)--for multiple fees/fines paid, there will be a single confirmation modal with one line for each fee/fine fully/partially paid
      21. Scenario
        Given the Confirm Fee/Fine Payment modal
        When Back button clicked
        Then go back to Pay Fee/Fine modal
      22. Scenario
        Given the Confirm Fee/Fine Payment modal
        When Confirm button clicked
        Update the appropriate fields in the database for each fee/fine as shown in the table section of the Fee/Fine Details page (see attached mock-up fee-fine-details-pay.jpg)
        Action date should include system date and time of waive
        Action should be set to "paid fully" or "paid partially"
        Amount should be set to the full Pay Amount if one fee/fine or split amount if multiple fees/fines
        Balance of fee/fine should have pay amount subtracted from it
        Created at should be set to library location of library staff member who did the payment
        Source should be identifier of library staff member who did the payment
        Payment method is be a new data field for storing the manner in which the payment was made (will need to figure out how to show this on Fee/Fine Details page)
        Transaction information is a new data field for collecting additional information about the payment (will need to figure out how to show this on Fee/Fine Details page)
        Comments should be the Additional Information for the payment
        Note: Not sure of actual field names
        Then display a "Success Toast" for each fee/fine partially/fully paid (see attached mock-ups 3-Success-Toast-Partial.png and 4-Success-Toast-Fully.png

        TestRail: Results

          Attachments

          1. 1-Pay-Fee-Fine.png
            1-Pay-Fee-Fine.png
            60 kB
          2. 2-Confirm-fee-fine.png
            2-Confirm-fee-fine.png
            39 kB
          3. 3-Success-Toast-Partial.png
            3-Success-Toast-Partial.png
            29 kB
          4. 4-Success-Toast-Fully.png
            4-Success-Toast-Fully.png
            29 kB
          5. 5-Pay-Fee-Fine-Error.png
            5-Pay-Fee-Fine-Error.png
            65 kB
          6. 6-Pay-Fee-Fine-Comment-Required.png
            6-Pay-Fee-Fine-Comment-Required.png
            60 kB
          7. fee-fine-detail-pay.jpg
            fee-fine-detail-pay.jpg
            244 kB
          8. fee-fine-history-pay.jpg
            fee-fine-history-pay.jpg
            295 kB
          9. partialpaytest.jpg
            partialpaytest.jpg
            464 kB
          10. pay1.jpg
            pay1.jpg
            281 kB
          11. pay2.jpg
            pay2.jpg
            253 kB
          12. pay3.jpg
            pay3.jpg
            289 kB
          13. pay4.jpg
            pay4.jpg
            316 kB
          14. PayFFfixes.jpg
            PayFFfixes.jpg
            179 kB

            Issue Links

              Activity

                People

                Assignee:
                Luis Luis Contreras
                Reporter:
                hollyolepm Holly Mistlebauer
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases