From aa428a0583bcfa4bd1ff7444c69d0b92c26a9d70 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Wed, 6 Mar 2013 14:58:29 +0100 Subject: [PATCH] Bug 9743: Unit test for mandatory hold notes Content-Type: text/plain; charset=utf-8 Test plan: Export PERL5LIB and KOHA_CONF to your test database. Run t/db_dependent/Reserves.t. --- t/db_dependent/Reserves.t | 37 +++++++++++++++++++++++++++++++------ 1 files changed, 31 insertions(+), 6 deletions(-) diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t index 0e0852a..8669ea6 100755 --- a/t/db_dependent/Reserves.t +++ b/t/db_dependent/Reserves.t @@ -2,7 +2,7 @@ use Modern::Perl; -use Test::More tests => 4; +use Test::More tests => 7; use MARC::Record; use C4::Branch; @@ -28,12 +28,15 @@ my $title = 'Silence in the library'; $bib->append_fields( MARC::Field->new('100', ' ', ' ', a => 'Moffat, Steven'), MARC::Field->new('245', ' ', ' ', a => $title), + MARC::Field->new('300', ' ', ' ', a => '2 vols.'), ); my ($bibnum, $bibitemnum); ($bibnum, $title, $bibitemnum) = AddBiblio($bib, ''); # Helper item for that biblio. +my @branches = GetBranchesLoop(); +my $branch = $branches[0][0]{value}; diag("Creating item instance for testing."); -my ($item_bibnum, $item_bibitemnum, $itemnumber) = AddItem({ homebranch => 'CPL', holdingbranch => 'CPL' } , $bibnum); +my ($item_bibnum, $item_bibitemnum, $itemnumber) = AddItem({ homebranch => $branch||'CPL', holdingbranch => $branch||'CPL' } , $bibnum); # Modify item; setting barcode. my $testbarcode = '97531'; @@ -44,7 +47,8 @@ my %data = ( firstname => 'my firstname', surname => 'my surname', categorycode => 'S', - branchcode => 'CPL', + #TODO: Hardcoded staff category may fail? + branchcode => $branch||'CPL', ); my $borrowernumber = AddMember(%data); my $borrower = GetMember( borrowernumber => $borrowernumber ); @@ -60,9 +64,6 @@ my $notes = ''; my $checkitem = undef; my $found = undef; -my @branches = GetBranchesLoop(); -my $branch = $branches[0][0]{value}; - AddReserve($branch, $borrowernumber, $biblionumber, $constraint, $bibitems, $priority, $resdate, $expdate, $notes, $title, $checkitem, $found); @@ -76,3 +77,27 @@ is($status, "Reserved", "CheckReserves Test 2"); ($status, $reserve, $all_reserves) = CheckReserves(undef, $barcode); is($status, "Reserved", "CheckReserves Test 3"); + +#tests for mandatory hold notes +my $shownotes=C4::Context->preference('OPACHoldNotes'); +my $mandnotes=C4::Context->preference('OPACMandatoryHoldNotes'); +C4::Context->set_preference('OPACHoldNotes', 1); +C4::Context->set_preference('OPACMandatoryHoldNotes', '1&2'); + +my $record=GetMarcBiblio($bibnum); + +my $retval= C4::Reserves::GetMandatoryNoteReason($bibnum,$record); +is($retval, 1, "Mandatory hold notes test 1"); + +C4::Context->set_preference('OPACMandatoryHoldNotes', '4'); +$retval= C4::Reserves::GetMandatoryNoteReason($bibnum,$record); +is($retval, 0, "Mandatory hold notes test 2"); + +C4::Context->set_preference('OPACMandatoryHoldNotes', '1&2'); +C4::Context->set_preference('OPACHoldNotes', 0); +$retval= C4::Reserves::GetMandatoryNoteReason($bibnum,$record); +is($retval, 0, "Mandatory hold notes test 3"); + +#reset prefs +C4::Context->set_preference('OPACHoldNotes', $shownotes); +C4::Context->set_preference('OPACMandatoryHoldNotes', $mandnotes); -- 1.7.7.6