From 5ed92c5dc98b8b76cad283869c8cba85899178ce 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. --- 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..91a4709 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 +my @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 +my @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.7.6