Details
-
Type:
Story
-
Status: Closed (View Workflow)
-
Priority:
P2
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 19.1.0
-
Labels:
-
Template:customfield_11100 38102
-
Sprint:Core: F - Sprint 95
-
Story Points:8
-
Development Team:Prokopovych
Description
This is technical story needed to split effort for CIRC-737.
In scope of this story we have to implement Age to lost scheduled job described in the technical design.
Here is the overall algorithm of the job.
1. Scenario
- Given Item Status NOT = 'Aged to lost' and NOT 'Claimed returned'
- When:
- Items aged to lost after overdue interval > 0;
- System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date;
- Lost item fee policy set to use Actual cost
- Then:
- Do no further aged to lost processing for item
2. Scenario (no lost item fee is charged immediately)
- Given Item Status NOT = 'Aged to lost' and NOT 'Claimed returned'
- When:
- Items aged to lost after overdue interval > 0;
- System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date;
- Patron billed after aged to lost interval = 0 or blank;
- Lost item fee policy Set cost = 0 or blank;
- Charge lost item processing fee if item aged to lost by system = No
- Then:
- Item status and loan.itemStatus = 'Aged to lost';
- No dateLostItemShouldBeBilled set;
- No lostItemHasBeenBilled set;
(Note:UIU-1500will take care of changing the status of this item and closing the loan)
3. Scenario (no lost item fee is charged for delayed billing)
- Given Item Status NOT = 'Aged to lost' and NOT 'Claimed returned'
- When:
- Items aged to lost after overdue interval > 0;
- System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date;
- Patron billed after aged to lost interval > 0;
- Lost item fee policy Set cost = 0 or blank;
- Charge lost item processing fee if item aged to lost by system = No
- Then:
- Item status and loan.itemStatus = 'Aged to lost';
- Set lostItemHasBeenBilled = "false"
- Set dateLostItemShouldBeBilled = calculated date based on Patron billed after aged to lost interval
4. Scenario (fees charged immediately/after some interval)
- Given Item Status NOT = 'Aged to lost' and NOT 'Claimed returned'
- When:
- Items aged to lost after overdue interval > 0;
- System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date;
- Patron billed after aged to lost interval > 0, is 0 or blank;
- Any lost fee (lost item or lost item processing fee or both) has to be charged;
- Then:
- Item status and loan.itemStatus = 'Aged to lost';
- Set dateLostItemShouldBeBilled= calculated date based on Patron billed after aged to lost interval;
- Set lostItemHasBeenBilled = "false"
Acceptance criteria:
- Unit tests are created;
Notes:
- Dev only story;
TestRail: Results
Attachments
Issue Links
- defines
-
CIRC-737 Aged to lost: Automatically age overdue items to lost - SET COST
-
- Closed
-
-
UXPROD-87 Loan: Aged to Lost using SET COST
-
- Closed
-
- has to be done after
-
CIRC-851 Age to lost: Mark overdue loans as Aged to lost
-
- Closed
-
-
MODINVSTOR-503 Add 'Aged to lost' status to allowed item statuses list
-
- Closed
-
- has to be done before
-
CIRC-852 Age to lost: Assign lost fees for aged to lost loans - SET COST
-
- Closed
-
- is cloned by
-
CIRC-895 Age to lost: Add billing date and time when aging an item to lost - ACTUAL COST
-
- Open
-