Aged to lost: Renewal (effect on lost item fees) - SET COST

Description

NOTE: SCENARIOS ARE THE SAME AS WITH DECLARED LOST, EXCEPT THAT THE FIRST ONE IS ONLY NEEDED FOR AGED TO LOST

Scenarios

DETERMINE IF LOST ITEM PROCESSING FEE AND/OR LOST ITEM FEE SHOULD BE CANCELLED AND/OR REFUNDED

  1. Scenario

    • Given an item with the status Aged to lost and Lost item fee(s) not billed yet (lostItemHasBilled on Loan Record = false)

    • When that item is renewed

    • Then:

      • Set lostItemHasBilled on Loan Record to blank

      • Set dateLostItemShouldBeBilled on Loan Record to blank

  2. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with If lost item returned, remove lost item processing fee set to "Yes"

    • When that item is renewed on or before No fees/fines shall be refunded if a lost item is returned more than <interval from Lost Item Fee Policy> late

    • Then:

      • Lost item processing fee needs to be cancelled and/or refunded (go to CANCEL/REFUND LOST ITEM PROCESSING FEE)

      • Lost item fee needs to be cancelled and/or refunded (go to CANCEL/REFUND LOST ITEM FEE)

  3. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with If lost item returned, remove lost item processing fee set to "Yes"

    • When that item is renewed after No fees/fines shall be refunded if a lost item is returned more than <interval from Lost Item Fee Policy> late

    • Then:

      • Lost item processing fee remains

      • Lost item fee remains

  4. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with If lost item returned, remove lost item processing fee set to "No"

    • When that item is renewed on or before No fees/fines shall be refunded if a lost item is returned more than <interval from Lost Item Fee Policy> late

    • Then:

      • Lost item fee needs to be cancelled and/or refunded (go to CANCEL/REFUND LOST ITEM FEE)

  5. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with If lost item returned, remove lost item processing fee set to "No"

    • When that item is renewed after No fees/fines shall be refunded if a lost item is returned more than <interval from Lost Item Fee Policy> late

    • Then:

      • Lost item fee remains

Now let's see if the patron should be charged an overdue fine (continue on to DETERMINE IF OVERDUE FINE SHOULD BE CHARGED)

DETERMINE IF OVERDUE FINE SHOULD BE CHARGED

  1. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with radio button set to "If lost item returned or renewed: Charge overdues based on returned date up to maximum (if applicable)"

    • When that item is renewed

    • Then:

      • Charge overdue fine by calling module created by CIRC-524 (this module is also called by the check in process and regular renewals to calculate overdue fines)

  2. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with radio button set to "If lost item returned or renewed: Do not charge overdues"

    • When that item is renewed

    • Then:

      • Do not charge overdue fines

CANCEL/REFUND LOST ITEM PROCESSING FEE

  1. Verify that the patron was actually charged a Lost item processing fee for this item. (If not, there is no need to continue.) For the loaned item, check for an associated fee/fine record (there can be more than one for a loaned item) with a Fee/fine type of Lost item processing fee.

  2. Has the fee already been cancelled by the library? (If so, no need to continue.) For the fee/fine record in the step above, check for an Action of "Cancelled as error" (there can be more than one Action per fee/fine).

  3. If the patron was billed a fee that has not been cancelled, how much was the patron billed? This is the Billed amount in the fee/fine record.

  4. Was any of the fee waived by the library? How much was waived? Remember, there can be partial waives! (If all of the fee was waived, there is no need to continue. If only part of the fee was waived, then continue on.) Check for one or more Actions of "Waived partially" and "Waived fully." This is the part the patron did not pay.

  5. Was any of the fee paid by the patron? If so, how much? Remember, there can be partial payments! Check for one or more Actions of "Paid partially" and "Paid fully." This is the part the patron did pay.

  6. Was any of the fee transferred by the system? If so, how much? Remember, there can be partial transfers! Check for one or more Actions of "Transferred partially" and "Transferred fully." This is the part that was transferred and the patron may have paid.

  7. If the fee/fine wasn't totally waived, paid, transferred and/or cancelled create a new fee/fine Action record for the cancellation of what is left. The amount should equal Remaining amount on the Fee/Fine Details page. (The PO is using the field names that appear on the Fee/Fine Details page (see attached file FF-Details-Cancellaton.jpg) because she doesn't know the real names.):

    • Action date should include current system date and time

    • Action should be set to "Cancelled item returned"

    • Amount should be set to the amount of the fee that has not been waived, paid or transferred already

    • Transaction information will be blank

    • Created at should be set to service point where the renewal was entered

    • Source should identify the library staff member who did the renewal

    • Additional information will be blank

  8. If the patron paid part or all of the fee, create two new fee/fine Action records for the refund, one for the credit and one for the refund (see attached mock-up FF-Details-refunds-Steps.jpg for more information.) What we call "action" records are what is shown in the table section of the Fee/Fine Details page (see attached mock-up FF-Details-Refunds.jpg). PO is not sure of actual field names, but is using Fee/Fine Detail field names instead. (Because of how refunds are manually processed, you must created two refund "action" records if part of the fee/fine was paid by the patron and part was transferred (this still counts as one refund to the user)):

    • CREDIT ACTION RECORD (see attached example FF-Details-Refunds.jpg)

      • Action date should include system date and time of credit (this is what will be used to add this transaction to the report)

      • Action should be set to "Credited fully"

      • Amount should be set to the amount of this particular fee/fine that is to be credited (this is how much was paid by the patron: see steps above)

      • Balance of fee/fine should have credited amount subtracted from it

      • Transaction information should be set to "Refund to patron"

      • Created at should be set to service point where the renewal was entered

      • Source should identify the library staff member who did the renewal

      • Refund reason should be set to "Lost item found" (Refund reason appears in "Action" column as Credited Fully-Lost item found or Refunded Credited-Lost item found)

      • Additional information will be blocked

    • REFUND ACTION RECORD (see attached example FF-Details-Refunds.jpg)

      • Action date should include system date and time of refund (this is what will be used to add this transaction to the report)

      • Action should be set to "Refunded fully"

      • Amount should be set to the amount of this particular fee/fine that is to be refunded (this is how much was paid by the patron: see steps 5 and 6 above)

      • Balance of fee/fine should have refunded amount subtracted from it

      • Transaction information should be set to "Refunded to patron"

      • Created at should be set to service point where the renewal was entered

      • Source should identify the library staff member who did the renewal

      • Refund reason should be set to "Lost item found" (Refund reason appears in "Action" column as Refunded Fully-Lost item found or Refunded Partially-Lost item found)

      • Additional information will be blank

  9. If the library has transferred part or all of the fee, create two new fee/fine Action records for the refund, one for the credit and one for the refund, as you did with the payments above (Once again PO is using the field names that appear on the Fee/Fine Details page (see attached file (see attached example FF-Details-Refunds.jpg)) because she doesn't know the real names):

    • CREDIT ACTION RECORD (see attached example FF-Details-Refunds.jpg)

      • Action date should include system date and time of credit (this is what will be used to add this transaction to the report)

      • Action should be set to "Credited fully"

      • Amount should be set to the amount of this particular fee/fine that is to be credited (this is how much was transferred by the library: see steps above)

      • Balance of fee/fine should have credited amount subtracted from it

      • Transaction information should be set to "Refund to <Transfer account>"

      • Created at should be set to service point where the renewal was entered

      • Source should identify the library staff member who did the renewal

      • Refund reason should be set to "Lost item found" (Refund reason appears in "Action" column as Credited Fully-Lost item found or Refunded Credited-Lost item found)

      • Additional information will be blocked

    • REFUND ACTION RECORD (see attached example FF-Details-Refunds.jpg)

      • Action date should include system date and time of refund (this is what will be used to add this transaction to the report)

      • Action should be set to "Refunded fully"

      • Amount should be set to the amount of this particular fee/fine that is to be refunded (this is how much was transferred by the library: see steps above)

      • Balance of fee/fine should have refunded amount subtracted from it

      • Transaction information should be set to "Refunded to <Transfer account>"

      • Created at should be set to service point where the renewal was entered

      • Source should identify the library staff member who did the renewal

      • Refund reason should be set to "Lost item found" (Refund reason appears in "Action" column as Refunded Fully-Lost item found or Refunded Partially-Lost item found)

      • Additional information will be blank

  10. Create a patron notice for the cancellation, if one is set up

  11. Create a patron notice for the refund, if one is set up (may be two, one for refund to patron and one for refund to transfer account)

CANCEL/REFUND LOST ITEM FEE

  1. Verify that the patron was actually charged a Lost item fee for this item. (If not, there is no need to continue.) For the loaned item, check for an associated fee/fine record (there can be more than one for a loaned item) with a Fee/fine type of Lost item fee.

  2. Has the fee already been cancelled by the library? (If so, no need to continue.) For the fee/fine record in the step above, check for an Action of "Cancelled as error" (there can be more than one Action per fee/fine).

  3. If the patron was billed a fee that has not been cancelled, how much was the patron billed? This is the Billed amount in the fee/fine record.

  4. Was any of the fee waived by the library? How much was waived? Remember, there can be partial waives! (If all of the fee was waived, there is no need to continue. If only part of the fee was waived, then continue on.) Check for one or more Actions of "Waived partially" and "Waived fully." This is the part the patron did not pay.

  5. Was any of the fee paid by the patron? If so, how much? Remember, there can be partial payments! Check for one or more Actions of "Paid partially" and "Paid fully." This is the part the patron did pay.

  6. Was any of the fee transferred by the system? If so, how much? Remember, there can be partial transfers! Check for one or more Actions of "Transferred partially" and "Transferred fully." This is the part that was transferred and the patron may have paid.

  7. If the fee/fine wasn't totally waived, paid, transferred and/or cancelled, create a new fee/fine Action record for the cancellation of what is left. The amount should equal Remaining amount on the Fee/Fine Details page. (The PO is using the field names that appear on the Fee/Fine Details page (see attached file FF-Details-Cancellaton.jpg) because she doesn't know the real names.):

    • Action date should include current system date and time

    • Action should be set to "Cancelled item returned"

    • Amount should be set to the amount of the fee that has not been waived, paid or transferred already

    • Transaction information will be blank

    • Created at should be set to service point where the renewal was entered

    • Source should identify the library staff member who did the renewal

    • Additional information will be blank

  8. If the patron paid part or all of the fee, create two new fee/fine Action records for the refund, one for the credit and one for the refund (see attached mock-up FF-Details-Example-Steps.jpg for more information.) What we call "action" records are what is shown in the table section of the Fee/Fine Details page (see attached mock-up FF-Details-Refunds.jpg). PO is not sure of actual field names, but is using Fee/Fine Detail field names instead. (Because of how refunds are manually processed, you must created two refund "action" records if part of the fee/fine was paid by the patron and part was transferred (this still counts as one refund to the user)):

    • CREDIT ACTION RECORD (see attached example FF-Details-Refunds.jpg)

      • Action date should include system date and time of credit (this is what will be used to add this transaction to the report)

      • Action should be set to "Credited fully"

      • Amount should be set to the amount of this particular fee/fine that is to be credited (this is how much was paid by the patron: see steps above)

      • Balance of fee/fine should have credited amount subtracted from it

      • Transaction information should be set to "Refund to patron"

      • Created at should be set to service point where the renewal was entered

      • Source should identify the library staff member who did the renewal

      • Refund reason should be set to "Lost item found" (Refund reason appears in "Action" column as Credited Fully-Lost item found or Refunded Credited-Lost item found)

      • Additional information will be blocked

    • REFUND ACTION RECORD (see attached example FF-Details-Refunds.jpg)

      • Action date should include system date and time of refund (this is what will be used to add this transaction to the report)

      • Action should be set to "Refunded fully"

      • Amount should be set to the amount of this particular fee/fine that is to be refunded (this is how much was paid by the patron: see steps 5 and 6 above)

      • Balance of fee/fine should have refunded amount subtracted from it

      • Transaction information should be set to "Refunded to patron"

      • Created at should be set to service point where the renewal was entered

      • Source should identify the library staff member who did the renewal

      • Refund reason should be set to "Lost item found" (Refund reason appears in "Action" column as Refunded Fully-Lost item found or Refunded Partially-Lost item found)

      • Additional information will be blank

  9. If the library has transferred part or all of the fee, create two new fee/fine Action records for the refund, one for the credit and one for the refund, as you did with the payments above (Once again PO is using the field names that appear on the Fee/Fine Details page (see attached file (see attached example FF-Details-Refunds.jpg)) because she doesn't know the real names):

    • CREDIT ACTION RECORD (see attached example FF-Details-Refunds.jpg)

      • Action date should include system date and time of credit (this is what will be used to add this transaction to the report)

      • Action should be set to "Credited fully"

      • Amount should be set to the amount of this particular fee/fine that is to be credited (this is how much was transferred by the library: see steps above)

      • Balance of fee/fine should have credited amount subtracted from it

      • Transaction information should be set to "Refund to <Transfer account>"

      • Created at should be set to service point where the renewal was entered

      • Source should identify the library staff member who did the renewal

      • Refund reason should be set to "Lost item found" (Refund reason appears in "Action" column as Credited Fully-Lost item found or Refunded Credited-Lost item found)

      • Additional information will be blocked

    • REFUND ACTION RECORD (see attached example FF-Details-Refunds.jpg)

      • Action date should include system date and time of refund (this is what will be used to add this transaction to the report)

      • Action should be set to "Refunded fully"

      • Amount should be set to the amount of this particular fee/fine that is to be refunded (this is how much was transferred by the library: see steps above)

      • Balance of fee/fine should have refunded amount subtracted from it

      • Transaction information should be set to "Refunded to <Transfer account>"

      • Created at should be set to service point where the renewal was entered

      • Source should identify the library staff member who did the renewal

      • Refund reason should be set to "Lost item found" (Refund reason appears in "Action" column as Refunded Fully-Lost item found or Refunded Partially-Lost item found)

      • Additional information will be blank

  10. Create a patron notice for the cancellation, if one is set up

  11. Create a patron notice for the refund, if one is set up (may be two, one for refund to patron and one for refund to transfer account)

Environment

None

Potential Workaround

None

Attachments

6

Checklist

hide

TestRail: Results

Activity

Show:

Holly Mistlebauer October 6, 2020 at 3:32 PM

I did my final testing at https://core-functional.ci.folio.org/. I tested the final issue with overdue fines not being charged if an aged to lost item has not yet been billed as aged to lost. This test passed. Thanks!

Holly Mistlebauer October 6, 2020 at 3:30 PM

Holly has created bug to cover: When an item is renewed and results in the remaining lost item fees being cancelled, the Fee/Fine Details 'Action' says 'Cancelled item returned' but it should say 'Cancelled item renewed'.

Holly Mistlebauer October 6, 2020 at 3:29 PM

Holly has attached her re-test test plan...

Bohdan Suprun October 6, 2020 at 12:53 PM

Hi ,

Fix for the purple cases has been deployed to team env.

Since we're very close to core module release deadline, does it make sense to move following issue into separate story?:

When an item is renewed and results in the remaining lost item fees being cancelled, the Fee/Fine Details 'Action' says 'Cancelled item returned' but it should say 'Cancelled item renewed'.

I'm not sure if i'll be able to fix it till release deadline.

Bohdan Suprun October 1, 2020 at 9:36 AM
Edited

HI ,

I have two test cases where I believe an overdue fine should have been charged but it was not.

This is the same issue as reported as purple in and it is in code review.

When an item is renewed and results in the remaining lost item fees being cancelled, the Fee/Fine Details 'Action' says 'Cancelled item returned' but it should say 'Cancelled item renewed'.

I'll fix it in scope of this story.

My question has to do with the timing of aging items to lost...I had 16 items that were qualified to be aged to lost within a minute of each other...six of the items were aged to lost at one time and the other 10 were aged to lost later...just wondering how this happened...

As far as I can see, the aged to lost conditions are met at different time for them. I assume, the job has been triggered at 11:08 AM and finished right before rest of the items can be qualified as aged to lost.

Done

Details

Assignee

Reporter

Tester Assignee

Priority

Story Points

Sprint

Development Team

Prokopovych

Fix versions

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created February 27, 2020 at 3:07 PM
Updated October 16, 2020 at 10:53 AM
Resolved October 6, 2020 at 3:32 PM
TestRail: Cases
TestRail: Runs