From e8f4e29b04d69b8f552d085ee6a2b550e7ef5f2c 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 Content-Type: text/plain; charset=utf-8 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 Signed-off-by: Jonathan Druart --- 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 fe0baaa..db82296 100755 --- a/t/db_dependent/Reserves.t +++ b/t/db_dependent/Reserves.t @@ -2,7 +2,7 @@ use Modern::Perl; -use Test::More tests => 20; +use Test::More tests => 23; use MARC::Record; use DateTime::Duration; @@ -291,6 +291,32 @@ is( 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; sub count_hold_print_messages { -- 1.7.7.6