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

(-)a/t/db_dependent/Reserves.t (-2 / +55 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 => 57;
21
use Test::MockModule;
21
use Test::MockModule;
22
use Test::Warn;
22
use Test::Warn;
23
23
Lines 54-59 my $builder = t::lib::TestBuilder->new; Link Here
54
54
55
my $frameworkcode = q||;
55
my $frameworkcode = q||;
56
56
57
58
t::lib::Mocks::mock_preference('ReservesNeedReturns', 1);
59
57
# Somewhat arbitrary field chosen for age restriction unit tests. Must be added to db before the framework is cached
60
# Somewhat arbitrary field chosen for age restriction unit tests. Must be added to db before the framework is cached
58
$dbh->do("update marc_subfield_structure set kohafield='biblioitems.agerestriction' where tagfield='521' and tagsubfield='a' and frameworkcode=?", undef, $frameworkcode);
61
$dbh->do("update marc_subfield_structure set kohafield='biblioitems.agerestriction' where tagfield='521' and tagsubfield='a' and frameworkcode=?", undef, $frameworkcode);
59
my $cache = Koha::Caches->get_instance;
62
my $cache = Koha::Caches->get_instance;
Lines 668-673 subtest '_koha_notify_reserve() tests' => sub { Link Here
668
671
669
};
672
};
670
673
674
subtest 'ReservesNeedReturns' => sub {
675
    plan tests => 4;
676
677
    my $biblioitem = $builder->build_object( { class => 'Koha::Biblioitems' } );
678
    my $library    = $builder->build_object( { class => 'Koha::Libraries' } );
679
    my $itemtype   = $builder->build_object( { class => 'Koha::ItemTypes', value => { rentalcharge => 0 } } );
680
    my $item_info  = {
681
        biblionumber     => $biblioitem->biblionumber,
682
        biblioitemnumber => $biblioitem->biblioitemnumber,
683
        homebranch       => $library->branchcode,
684
        holdingbranch    => $library->branchcode,
685
        itype            => $itemtype->itemtype,
686
    };
687
    my $item = $builder->build_object( { class => 'Koha::Items', value => $item_info } );
688
    my $patron   = $builder->build_object(
689
        {
690
            class => 'Koha::Patrons',
691
            value => { branchcode => $library->branchcode, }
692
        }
693
    );
694
695
    my $priority = 1;
696
    my ( $hold_id, $hold );
697
698
    t::lib::Mocks::mock_preference('ReservesNeedReturns', 0); # '0' means 'Automatically mark a hold as found and waiting'
699
    $hold_id = C4::Reserves::AddReserve(
700
        $library->branchcode, $patron->borrowernumber,
701
        $item->biblionumber,  '',
702
        $priority,            undef,
703
        undef,                '',
704
        "title for fee",      $item->itemnumber,
705
    );
706
    $hold = Koha::Holds->find($hold_id);
707
    is( $hold->priority, 0, 'If ReservesNeedReturns is 0, priority must have been set to 0' );
708
    is( $hold->found, 'W', 'If ReservesNeedReturns is 0, found must have been set waiting' );
709
710
    $hold->delete; # cleanup
711
712
    t::lib::Mocks::mock_preference('ReservesNeedReturns', 1); # '0' means "Don't automatically mark a hold as found and waiting"
713
    $hold_id = C4::Reserves::AddReserve(
714
        $library->branchcode, $patron->borrowernumber,
715
        $item->biblionumber,  '',
716
        $priority,            undef,
717
        undef,                '',
718
        "title for fee",      $item->itemnumber,
719
    );
720
    $hold = Koha::Holds->find($hold_id);
721
    is( $hold->priority, $priority, 'If ReservesNeedReturns is 1, priority must not have been set to changed' );
722
    is( $hold->found, undef, 'If ReservesNeedReturns is 1, found must not have been set waiting' );
723
};
724
671
sub count_hold_print_messages {
725
sub count_hold_print_messages {
672
    my $message_count = $dbh->selectall_arrayref(q{
726
    my $message_count = $dbh->selectall_arrayref(q{
673
        SELECT COUNT(*)
727
        SELECT COUNT(*)
674
- 

Return to bug 20724