From 0e1d2c6919082c08e24d6449173eb98ba520e3f9 Mon Sep 17 00:00:00 2001 From: Arthur Suzuki Date: Thu, 18 Jul 2019 15:03:40 +0200 Subject: [PATCH] Bug 11999: Test improvements + check maxreserves improve t/db_dependent/Reserves.t to make tests pass on UNIMARC installation --- t/db_dependent/Reserves.t | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t index 6ddb3f4f56..fe31164c74 100755 --- a/t/db_dependent/Reserves.t +++ b/t/db_dependent/Reserves.t @@ -61,7 +61,11 @@ my $frameworkcode = q//; t::lib::Mocks::mock_preference('ReservesNeedReturns', 1); # Somewhat arbitrary field chosen for age restriction unit tests. Must be added to db before the framework is cached -$dbh->do("update marc_subfield_structure set kohafield='biblioitems.agerestriction' where tagfield='521' and tagsubfield='a' and frameworkcode=?", undef, $frameworkcode); +$dbh->do(q| + INSERT INTO marc_subfield_structure (frameworkcode, tagfield, tagsubfield, kohafield) + VALUES ('', '521', 'a', 'biblioitems.agerestriction') + ON DUPLICATE KEY UPDATE kohafield = VALUES(kohafield) +|); my $cache = Koha::Caches->get_instance; $cache->clear_from_cache("MarcStructure-0-$frameworkcode"); $cache->clear_from_cache("MarcStructure-1-$frameworkcode"); @@ -1152,6 +1156,7 @@ subtest 'CheckReserves additional test' => sub { is( scalar @$possible_reserves, 2, 'We do get both reserves' ); }; +<<<<<<< HEAD subtest 'AllowHoldOnPatronPossession test' => sub { plan tests => 4; @@ -1188,6 +1193,37 @@ subtest 'AllowHoldOnPatronPossession test' => sub { $item->itemnumber)->{status}, 'OK', 'Patron can place hold on an item loaned to itself'); +======= +subtest 'check maxreserve test' => sub { + + plan tests => 2; + + t::lib::Mocks::mock_preference('maxreserves', 1); + # Create the items and patrons we need + my $biblio_1 = $builder->build_sample_biblio(); + my $biblio_2 = $builder->build_sample_biblio(); + my $itype = $builder->build_object({ class => "Koha::ItemTypes", value => { notforloan => 0 } }); + my $item_1 = $builder->build_sample_item({ biblionumber => $biblio_1->biblionumber,notforloan => 0, itype => $itype->itemtype }); + my $item_2 = $builder->build_sample_item({ biblionumber => $biblio_2->biblionumber, notforloan => 0, itype => $itype->itemtype }); + my $patron = $builder->build_object({ class => "Koha::Patrons" }); + + + # Place a hold on the title for both patrons + my $reserve = AddReserve( + { + branchcode => $item_1->homebranch, + borrowernumber => $patron->borrowernumber, + biblionumber => $biblio_1->biblionumber, + priority => 1, + itemnumber => $item_1->itemnumber, + } + ); + + my $borrowernumber = $patron->borrowernumber; + + is( C4::Reserves::CanBookBeReserved($borrowernumber, $biblio_2->biblionumber)->{status} , 'tooManyReserves', "Reserving more than maxreserves is forbidden"); + is( C4::Reserves::CanItemBeReserved($borrowernumber, $item_2->itemnumber, $item_2->homebranch)->{status} , 'tooManyReserves', "Reserving more than maxreserves is forbidden"); +>>>>>>> Bug 11999: Test improvements + check maxreserves }; sub count_hold_print_messages { -- 2.11.0