Hold shelf clearance report not including pages due to page requests changing status when cancelled/expired

Description

Steps to repro:

  1. Log into Chalmers environment or Bugfest environment (both run 3.1) https://bugfest.folio.ebsco.com

  2. Go to Inventory and find some items that are Available

  3. Create page requests for those items and make the pickup service point the same as your current service point

  4. After creating the requests, check in the items so the requests go into Awaiting pickup (on the hold shelf): Request status becomes "Open - Awaiting pickup", item status - "Awaiting pickup"

  5. Update Request field "Hold shelf expiration date", click Save - Item status becomes "Paged" BUG
    OR

  6. Cancel request - Item status becomes "Paged" BUG

  7. Now, from the pane header dropdown for the requests search results, select the Hold shelf clearance report

  8. Neither of the requests are on the report in the Chalmers environment

Expected: Both of your requests should be on that report because they were cancelled or expired while on the hold shelf.

Actual: Item status is improperly changing when page request is cancelled or expired. This is causing items to fail to display on the hold clearance report.

Additional info: I ran this test in folio-snapshot and everything worked fine! This may be related to work in CIRC-411 or https://folio-org.atlassian.net/browse/CIRC-316#icft=CIRC-316

Recording: https://drive.google.com/file/d/1wU_63Uv55z9MBIb10bMhk0n20pNPygXh/view?usp=sharing). I tested in Bugfest environment and the expired one shows in the report but the cancelled one doesn't (see recording: https://drive.google.com/file/d/1rBBD64DaCXOeiD-tirxXS3glNYvD0Kfr/view?usp=sharing)

CSP Request Details

None

CSP Rejection Details

None

Potential Workaround

None

Checklist

hide

TestRail: Results

Activity

Show:

Cate Boerema September 4, 2019 at 8:55 AM

This has been patched for 3.1 and released to Chalmers. Thank you so much, , for getting this ready so quickly.

Cate Boerema September 3, 2019 at 12:54 PM

I tested all day yesterday in the BugFest environment and the patch created for this and https://folio-org.atlassian.net/browse/CIRC-411#icft=CIRC-411 seems to have fixed both problems.

Marc Johnson August 30, 2019 at 3:48 PM

I think I've got really confused. the commit you refer to was merged prior to the 16.5.0 release so should already be in the version used by Chalmers.

Whilst preparing the 16.5.1 release, I wrote an additional test to demonstrate the issue here, and confirmed that applying the commit from https://folio-org.atlassian.net/browse/CIRC-411#icft=CIRC-411 did indeed resolve it. I will raise a pull request to put that test into master after the release is out.

Kostyantyn Khodarev August 29, 2019 at 1:40 PM

This is how this method looked like before mentioned commit

private ItemStatus itemStatusOnRequestCreationOrMove( RequestAndRelatedRecords requestAndRelatedRecords) { RequestType type = requestAndRelatedRecords.getRequest().getRequestType(); return type == RequestType.PAGE ? PAGED : requestAndRelatedRecords.getRequest().getItem().getStatus(); }

Kostyantyn Khodarev August 29, 2019 at 1:26 PM


Found commit (edc5ece7dd752dfad54570fe2ad2c215d02cb632) where this bug was fixed (most likely)
UpdateItem.java, method itemStatusOnRequestCreateOrUpdate

Done

Details

Assignee

Reporter

Priority

Sprint

Development Team

Prokopovych

Fix versions

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs
Created August 27, 2019 at 12:58 PM
Updated September 16, 2019 at 1:45 PM
Resolved September 4, 2019 at 8:55 AM
TestRail: Cases
TestRail: Runs

Flag notifications