Lines 7-13
use t::lib::TestBuilder;
Link Here
|
7 |
|
7 |
|
8 |
use C4::Context; |
8 |
use C4::Context; |
9 |
|
9 |
|
10 |
use Test::More tests => 53; |
10 |
use Test::More tests => 59; |
11 |
use MARC::Record; |
11 |
use MARC::Record; |
12 |
use C4::Biblio; |
12 |
use C4::Biblio; |
13 |
use C4::Items; |
13 |
use C4::Items; |
Lines 388-397
$dbh->do('DELETE FROM biblio');
Link Here
|
388 |
= AddItem( { homebranch => $branch_1, holdingbranch => $branch_1 }, $bibnum ); |
388 |
= AddItem( { homebranch => $branch_1, holdingbranch => $branch_1 }, $bibnum ); |
389 |
|
389 |
|
390 |
$dbh->do( |
390 |
$dbh->do( |
391 |
q{INSERT INTO issuingrules (categorycode, branchcode, itemtype, reservesallowed, holds_per_record) |
391 |
q{INSERT INTO issuingrules (categorycode, branchcode, itemtype, reservesallowed, holds_per_record, holds_per_day) |
392 |
VALUES (?, ?, ?, ?, ?)}, |
392 |
VALUES (?, ?, ?, ?, ?, ?)}, |
393 |
{}, |
393 |
{}, |
394 |
'*', '*', 'ONLY1', 1, 99 |
394 |
'*', '*', 'ONLY1', 1, 99, 2 |
395 |
); |
395 |
); |
396 |
is( CanItemBeReserved( $borrowernumbers[0], $itemnumber ), |
396 |
is( CanItemBeReserved( $borrowernumbers[0], $itemnumber ), |
397 |
'OK', 'Patron can reserve item with hold limit of 1, no holds placed' ); |
397 |
'OK', 'Patron can reserve item with hold limit of 1, no holds placed' ); |
Lines 401-406
my $res_id = AddReserve( $branch_1, $borrowernumbers[0], $bibnum, '', 1, );
Link Here
|
401 |
is( CanItemBeReserved( $borrowernumbers[0], $itemnumber ), |
401 |
is( CanItemBeReserved( $borrowernumbers[0], $itemnumber ), |
402 |
'tooManyReserves', 'Patron cannot reserve item with hold limit of 1, 1 bib level hold placed' ); |
402 |
'tooManyReserves', 'Patron cannot reserve item with hold limit of 1, 1 bib level hold placed' ); |
403 |
|
403 |
|
|
|
404 |
# Add two more items |
405 |
my ( $bibnum_2, undef, $bibitemnum_2 ) = create_helper_biblio('ONLY1'); |
406 |
my ( undef, undef, $itemnumber_2 ) |
407 |
= AddItem( { homebranch => $branch_1, holdingbranch => $branch_1 }, $bibnum_2 ); |
408 |
my ( $bibnum_3, undef, $bibitemnum_3 ) = create_helper_biblio('ONLY1'); |
409 |
my ( undef, undef, $itemnumber_3 ) |
410 |
= AddItem( { homebranch => $branch_1, holdingbranch => $branch_1 }, $bibnum_3 ); |
411 |
# Raise reservesallowed to avoid tooManyReserves |
412 |
$dbh->do(q{ |
413 |
UPDATE issuingrules SET reservesallowed=3 WHERE itemtype='ONLY1' |
414 |
}); |
415 |
|
416 |
is( CanItemBeReserved( $borrowernumbers[0], $itemnumber_2 ), |
417 |
'OK', 'Patron can reserve item with hold limit of 1, 1 bib level hold placed, 2 reserves daily cap' ); |
418 |
|
419 |
# Add a second reserve |
420 |
$res_id = AddReserve( $branch_1, $borrowernumbers[0], $bibnum_2, '', 1, ); |
421 |
is( CanItemBeReserved( $borrowernumbers[0], $itemnumber_2 ), |
422 |
'tooManyReservesToday', 'Patron cannot reserve item with hold limit of 3, 2 bib level hold placed on the same day, 2 reserves daily cap' ); |
423 |
|
424 |
# Update last hold so reservedate is in the past, so 2 holds, but different day |
425 |
$hold = Koha::Holds->find( $res_id ); |
426 |
my $yesterday = dt_from_string() - DateTime::Duration->new( days => 1 ) ; |
427 |
$hold->reservedate( $yesterday )->store; |
428 |
|
429 |
is( CanItemBeReserved( $borrowernumbers[0], $itemnumber_2 ), |
430 |
'OK', 'Patron can reserve item with hold limit of 3, 2 bib level hold placed on different days, 2 reserves daily cap' ); |
404 |
|
431 |
|
405 |
# Helper method to set up a Biblio. |
432 |
# Helper method to set up a Biblio. |
406 |
sub create_helper_biblio { |
433 |
sub create_helper_biblio { |
407 |
- |
|
|