Uploaded image for project: 'mod-circulation'
  1. mod-circulation
  2. CIRC-854

Age to lost: Add billing date and time when aging an item to lost - SET COST

    XMLWordPrintable

Details

    • Core: F - Sprint 95
    • 8
    • 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-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;

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                bohdan-suprun Bohdan Suprun
                bohdan-suprun Bohdan Suprun
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases