From 1726c47c899f0ae4e4f75c4fe2dea4f55c372a20 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Thu, 26 Sep 2013 12:22:51 +0200 Subject: [PATCH] Bug 9788: Unit tests for changed routine GetReservesFromItemnumber Adds three tests to Reserves.t for GetReservesFromItemnumber. We test if this routine does not return a future next available hold, a future item level hold. And if it does return a future wait (that is: a confirmed future hold, using ConfirmFutureHolds). Note that Holds.t does also contains some basic tests for this routine, but the additional tests seem to better located in the direct context of tests for bug 9761 for ConfirmFutureHolds. Test plan: Run both t/db_dependent/Holds.t and t/db_dependent/Reserves.t. Verify if both tests do not fail. Signed-off-by: Kyle M Hall --- t/db_dependent/Reserves.t | 28 +++++++++++++++++++++++++++- 1 files changed, 27 insertions(+), 1 deletions(-) diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t index ad50619..c0a0838 100755 --- a/t/db_dependent/Reserves.t +++ b/t/db_dependent/Reserves.t @@ -2,7 +2,7 @@ use Modern::Perl; -use Test::More tests => 17; +use Test::More tests => 20; use MARC::Record; use DateTime::Duration; @@ -266,4 +266,30 @@ is(exists $messages->{ResFound}?1:0, 1, 'AddReturn considers future reserve with my $letter = ReserveSlip('CPL', $requesters{'CPL'}, $bibnum); ok(defined($letter), 'can successfully generate hold slip (bug 10949)'); +# Tests for bug 9788: Does GetReservesFromItemnumber return a future wait? +# 9788a: GetReservesFromItemnumber does not return future next available hold +$dbh->do("DELETE FROM reserves WHERE biblionumber=?",undef,($bibnum)); +C4::Context->set_preference('ConfirmFutureHolds', 2); +C4::Context->set_preference('AllowHoldDateInFuture', 1); +$resdate= dt_from_string(); +$resdate->add_duration(DateTime::Duration->new(days => 2)); +$resdate=output_pref($resdate); +AddReserve('CPL', $requesters{'CPL'}, $bibnum, + $constraint, $bibitems, 1, $resdate, $expdate, $notes, + $title, $checkitem, $found); +my @results= GetReservesFromItemnumber($itemnumber); +is(defined $results[3]?1:0, 0, 'GetReservesFromItemnumber does not return a future next available hold'); +# 9788b: GetReservesFromItemnumber does not return future item level hold +$dbh->do("DELETE FROM reserves WHERE biblionumber=?",undef,($bibnum)); +AddReserve('CPL', $requesters{'CPL'}, $bibnum, + $constraint, $bibitems, 1, $resdate, $expdate, $notes, + $title, $itemnumber, $found); #item level hold +@results= GetReservesFromItemnumber($itemnumber); +is(defined $results[3]?1:0, 0, 'GetReservesFromItemnumber does not return a future item level hold'); +# 9788c: GetReservesFromItemnumber returns future wait (confirmed future hold) +ModReserveAffect( $itemnumber, $requesters{'CPL'} , 0); #confirm hold +@results= GetReservesFromItemnumber($itemnumber); +is(defined $results[3]?1:0, 1, 'GetReservesFromItemnumber returns a future wait (confirmed future hold)'); +# End of tests for bug 9788 + $dbh->rollback; -- 1.7.2.5