Skip to:
This is technical story needed to split effort for .
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)
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
Item status and loan.itemStatus = 'Aged to lost';
No dateLostItemShouldBeBilled set;
No lostItemHasBeenBilled set;(Note: UIU-1500 will take care of changing the status of this item and closing the loan)
3. Scenario (no lost item fee is charged for delayed billing)
Patron billed after aged to lost interval > 0;
Set lostItemHasBeenBilled = "false"
Set dateLostItemShouldBeBilled = calculated date based on Patron billed after aged to lost interval
4. Scenario (fees charged immediately/after some interval)
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;
Set dateLostItemShouldBeBilled= calculated date based on Patron billed after aged to lost interval;
Unit tests are created;
Dev only story;
Merged to master, closing as dev only.
This is technical story needed to split effort for .
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-1500 will 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;