View | Details | Raw Unified | Return to bug 14526
Collapse All | Expand All

(-)a/t/db_dependent/Reserves.t (-2 / +58 lines)
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
- 

Return to bug 14526