DCB E2E test scenarios

Lending library (FOLIO) <-> Borrowing_Pickup library (FOLIO)

Main flow:

#Manual stepExpected Results
DCB transaction statusLending library (FOLIO)Borrowing_Pickup library (FOLIO)Test cases links
1N/ACREATED
  • Page request created.
    • Request status: Open - Not yet filled
  • Item status: Paged
  • Hold request created.
    • Request status: Open - Not yet filled
  • Item status: In transit

2

Lending library: Check-in the item using the FOLIO checkin application.

OPEN

  • Page request:
    • New request status: Open - In transit
  • Item status: In transit
  • Hold request:
    • New request status: Open - In transit
  • Item status: In transit

3

Borrowing library: Check-in the item at the destination pickup service point


(Item arrived at needed service point.)

AWAITING_PICKUP

  • Page request:
    • New request status: Open - Awaiting pickup
  • Item status: awaiting pickup
  • Hold request:
    • New request status: Open - Awaiting pickup
  • Item status: awaiting pickup
  • Patron notification has been sent according to the library loan policy

4

Borrowing library: staff loans the item to the patron, using FOLIO checkout application

ITEM_CHECKED_OUT

  • Page request:
    • New request status: Closed – Filled
  • Item status: Checked out
  • Loan status: Loan opened
  • Hold request:  
    • New request status: Closed – Filled
  • Item status: Checked out
  • Loan status: Loan opened

5

Borrowing library: Check-in the item (Patron returns the item to the borrowing library)

ITEM_CHECKED_IN

  • Item status: In transit
  • Loan status: Opened
  • Item status: In transit
  • Loan status: Closed

6

Lending library: Check-in the item (item arrives at the lending library)

CLOSED

  • Item status: In transit/Available
  • Loan status: Closed


Lending library (FOLIO) <-> Pickup library (FOLIO)

Main flow:

#Manual stepExpected Results
DCB transaction statusLending library (FOLIO)Borrowing library (FOLIO)Pickup library (FOLIO)Test Cases Links
1N/ACREATED
  • Page request created.
    • Request status: Open - Not yet filled
  • Item status: Paged
  • Hold request created.
    • Request status: Open - Not yet filled
  • Item status: In transit
  • Hold request created.
    • Request status: Open - Not yet filled
  • Item status: In transit

2

Lending library: Check-in the item using the FOLIO checkin application.

OPEN

  • Page request:
    • New request status: Open - In transit
  • Item status: In transit
  • Hold request:
    • New request status: Open - In transit
  • Item status: In transit
  • Hold request:
    • New request status: Open - In transit
  • Item status: In transit

3

Pickup library: Check-in the item at the destination pickup service point


(Item arrived at needed service point.)

AWAITING_PICKUP

  • Page request:
    • New request status: Open - Awaiting pickup
  • Item status: awaiting pickup
  • Hold request:
    • New request status: Open - Awaiting pickup
  • Item status: awaiting pickup
  • Patron notification has been sent according to the library loan policy
  • Hold request:
    • New request status: Open - Awaiting pickup
  • Item status: awaiting pickup

4

Pickup library: staff loans the item to the patron, using FOLIO checkout application

ITEM_CHECKED_OUT

  • Page request:
    • New request status: Closed – Filled
  • Item status: Checked out
  • Loan status: Loan opened
  • Hold request:  
    • New request status: Closed – Filled
  • Item status: Checked out
  • Loan status: Loan opened
  • Hold request:  
    • New request status: Closed – Filled
  • Item status: Checked out
  • Loan status: Loan opened

5

Pickup library: Check-in the item (Patron returns the item to the pickup library)

ITEM_CHECKED_IN

  • Item status: In transit
  • Loan status: Opened
  • Item status: In transit
  • Loan status: Closed
  • Item status: In transit
  • Loan status: Closed

6

Lending library: Check-in the item (item arrives at the lending library)

CLOSED

  • Item status: In transit/Available
  • Loan status: Closed



Cancellation flow

1. DCB request cancellation by FOLIO user.

  1. FOLIO user cancels DCB request in Lending Library =>
    • DCB transaction status changes to CANCELLED,
    • DCB propagates Cancelled transaction status to other libraries.
  2. FOLIO user cancels DCB request in Borrowing Library =>
    • DCB transaction status changes to CANCELLED.
    • DCB propagates Cancelled transaction status to other libraries.
  3. FOLIO user cancels DCB request in Borrowing_Pickup Library =>
    • DCB transaction status changes to CANCELLED.
    • DCB propagates Cancelled transaction status to other libraries.
  4. FOLIO user cancels DCB request in Pickup Library =>
    • DCB transaction status changes to CANCELLED.
    • DCB propagates Cancelled transaction status to other libraries.

Library initiator/ DCB transaction status

CREATED > CANCELLED

OPEN > CANCELLED

AWAITING_PICKUP > CANCELLED

ITEM_CHECKED_OUT > CANCELLED

ITEM_CHECKED_IN > CANCELLED

CLOSED > CANCELLED

Test cases links

Lending library

(tick)

(tick)

(tick)

(minus)

(minus)

(minus)


Borrowing library

(tick)

(tick)

(tick)

(minus)

(minus)

(minus)


Borrowing_Pickup library

(tick)

(tick)

(tick)

(minus)

(minus)

(minus)


Pickup library

(tick)

(tick)

(tick)

(minus)

(minus)

(minus)


2. Request cancellation initiated by DCB

  • When DCB changes transaction status to CANCELLED, then CANCELLED status should be propagated to all libraries-participants of the transaction.

Note: The cancellation request can be applied to DCB transactions that are in the following statuses [CREATED, OPEN, AWAITING_PICKUP]. For the transactions that are in status [ITEM_CHECKED_OUT, ITEM_CHECKED_IN] FOLIO should reject such requests with a "400 Bad request" response.