Lines 17-23
Link Here
|
17 |
|
17 |
|
18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
19 |
|
19 |
|
20 |
use Test::More tests => 56; |
20 |
use Test::More tests => 62; |
21 |
|
21 |
|
22 |
use MARC::Record; |
22 |
use MARC::Record; |
23 |
use DateTime::Duration; |
23 |
use DateTime::Duration; |
Lines 528-533
$dbh->do(
Link Here
|
528 |
); |
528 |
); |
529 |
ok( !C4::Reserves::OnShelfHoldsAllowed($item, $borrower), "OnShelfHoldsAllowed() disallowed" ); |
529 |
ok( !C4::Reserves::OnShelfHoldsAllowed($item, $borrower), "OnShelfHoldsAllowed() disallowed" ); |
530 |
|
530 |
|
|
|
531 |
# tests for MoveReserve in relation to ConfirmFutureHolds (BZ 14526) |
532 |
# hold from A pos 1, today, no fut holds: MoveReserve should fill it |
533 |
$dbh->do('DELETE FROM reserves', undef, ($bibnum)); |
534 |
C4::Context->set_preference('ConfirmFutureHolds', 0); |
535 |
C4::Context->set_preference('AllowHoldDateInFuture', 1); |
536 |
AddReserve('CPL', $borrowernumber, $item_bibnum, |
537 |
$constraint, $bibitems, 1, undef, $expdate, $notes, |
538 |
$title, $checkitem, ''); |
539 |
MoveReserve( $itemnumber, $borrowernumber ); |
540 |
($status)=CheckReserves( $itemnumber ); |
541 |
is( $status, '', 'MoveReserve filled hold'); |
542 |
# hold from A waiting, today, no fut holds: MoveReserve should fill it |
543 |
AddReserve('CPL', $borrowernumber, $item_bibnum, |
544 |
$constraint, $bibitems, 1, undef, $expdate, $notes, |
545 |
$title, $checkitem, 'W'); |
546 |
MoveReserve( $itemnumber, $borrowernumber ); |
547 |
($status)=CheckReserves( $itemnumber ); |
548 |
is( $status, '', 'MoveReserve filled waiting hold'); |
549 |
# hold from A pos 1, tomorrow, no fut holds: not filled |
550 |
$resdate= dt_from_string(); |
551 |
$resdate->add_duration(DateTime::Duration->new(days => 1)); |
552 |
$resdate=output_pref($resdate); |
553 |
AddReserve('CPL', $borrowernumber, $item_bibnum, |
554 |
$constraint, $bibitems, 1, $resdate, $expdate, $notes, |
555 |
$title, $checkitem, ''); |
556 |
MoveReserve( $itemnumber, $borrowernumber ); |
557 |
($status)=CheckReserves( $itemnumber, undef, 1 ); |
558 |
is( $status, 'Reserved', 'MoveReserve did not fill future hold'); |
559 |
$dbh->do('DELETE FROM reserves', undef, ($bibnum)); |
560 |
# hold from A pos 1, tomorrow, fut holds=2: MoveReserve should fill it |
561 |
C4::Context->set_preference('ConfirmFutureHolds', 2); |
562 |
AddReserve('CPL', $borrowernumber, $item_bibnum, |
563 |
$constraint, $bibitems, 1, $resdate, $expdate, $notes, |
564 |
$title, $checkitem, ''); |
565 |
MoveReserve( $itemnumber, $borrowernumber ); |
566 |
($status)=CheckReserves( $itemnumber, undef, 2 ); |
567 |
is( $status, '', 'MoveReserve filled future hold now'); |
568 |
# hold from A waiting, tomorrow, fut holds=2: MoveReserve should fill it |
569 |
AddReserve('CPL', $borrowernumber, $item_bibnum, |
570 |
$constraint, $bibitems, 1, $resdate, $expdate, $notes, |
571 |
$title, $checkitem, 'W'); |
572 |
MoveReserve( $itemnumber, $borrowernumber ); |
573 |
($status)=CheckReserves( $itemnumber, undef, 2 ); |
574 |
is( $status, '', 'MoveReserve filled future waiting hold now'); |
575 |
# hold from A pos 1, today+3, fut holds=2: MoveReserve should not fill it |
576 |
$resdate= dt_from_string(); |
577 |
$resdate->add_duration(DateTime::Duration->new(days => 3)); |
578 |
$resdate=output_pref($resdate); |
579 |
AddReserve('CPL', $borrowernumber, $item_bibnum, |
580 |
$constraint, $bibitems, 1, $resdate, $expdate, $notes, |
581 |
$title, $checkitem, ''); |
582 |
MoveReserve( $itemnumber, $borrowernumber ); |
583 |
($status)=CheckReserves( $itemnumber, undef, 3 ); |
584 |
is( $status, 'Reserved', 'MoveReserve did not fill future hold of 3 days'); |
585 |
$dbh->do('DELETE FROM reserves', undef, ($bibnum)); |
586 |
|
587 |
# we reached the finish |
531 |
$dbh->rollback; |
588 |
$dbh->rollback; |
532 |
|
589 |
|
533 |
sub count_hold_print_messages { |
590 |
sub count_hold_print_messages { |
534 |
- |
|
|