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

(-)a/t/db_dependent/Circulation.t (-4 / +83 lines)
Lines 27-33 use C4::Overdues qw(UpdateFine); Link Here
27
use Koha::DateUtils;
27
use Koha::DateUtils;
28
use Koha::Database;
28
use Koha::Database;
29
29
30
use Test::More tests => 61;
30
use Test::More tests => 65;
31
31
32
BEGIN {
32
BEGIN {
33
    use_ok('C4::Circulation');
33
    use_ok('C4::Circulation');
Lines 37-44 my $dbh = C4::Context->dbh; Link Here
37
my $schema = Koha::Database->new()->schema();
37
my $schema = Koha::Database->new()->schema();
38
38
39
# Start transaction
39
# Start transaction
40
$dbh->{AutoCommit} = 0;
41
$dbh->{RaiseError} = 1;
40
$dbh->{RaiseError} = 1;
41
$schema->storage->txn_begin();
42
42
43
# Start with a clean slate
43
# Start with a clean slate
44
$dbh->do('DELETE FROM issues');
44
$dbh->do('DELETE FROM issues');
Lines 594-599 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
594
    is ( $count, 0, "Calling UpdateFine on non-existant fine with an amount of 0 does not result in an empty fine" );
594
    is ( $count, 0, "Calling UpdateFine on non-existant fine with an amount of 0 does not result in an empty fine" );
595
}
595
}
596
596
597
$dbh->rollback;
597
{
598
    $dbh->do('DELETE FROM issues');
599
    $dbh->do('DELETE FROM items');
600
    $dbh->do('DELETE FROM issuingrules');
601
    $dbh->do(
602
        q{
603
        INSERT INTO issuingrules ( categorycode, branchcode, itemtype, reservesallowed, maxissueqty, issuelength, lengthunit, renewalsallowed, renewalperiod,
604
                    norenewalbefore, auto_renew, fine, chargeperiod ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )
605
        },
606
        {},
607
        '*', '*', '*', 25,
608
        20,  14,  'days',
609
        1,   7,
610
        '',  0,
611
        .10, 1
612
    );
613
    my $biblio = MARC::Record->new();
614
    my ( $biblionumber, $biblioitemnumber ) = AddBiblio( $biblio, '' );
615
616
    my $barcode1 = '1234';
617
    my ( undef, undef, $itemnumber1 ) = AddItem(
618
        {
619
            homebranch    => 'MPL',
620
            holdingbranch => 'MPL',
621
            barcode       => $barcode1,
622
        },
623
        $biblionumber
624
    );
625
    my $barcode2 = '4321';
626
    my ( undef, undef, $itemnumber2 ) = AddItem(
627
        {
628
            homebranch    => 'MPL',
629
            holdingbranch => 'MPL',
630
            barcode       => $barcode2,
631
        },
632
        $biblionumber
633
    );
634
635
    my $borrowernumber1 = AddMember(
636
        firstname    => 'Kyle',
637
        surname      => 'Hall',
638
        categorycode => 'S',
639
        branchcode   => 'MPL',
640
    );
641
    my $borrowernumber2 = AddMember(
642
        firstname    => 'Chelsea',
643
        surname      => 'Hall',
644
        categorycode => 'S',
645
        branchcode   => 'MPL',
646
    );
647
648
    my $borrower1 = GetMember( borrowernumber => $borrowernumber1 );
649
    my $borrower2 = GetMember( borrowernumber => $borrowernumber2 );
650
651
    my $issue = AddIssue( $borrower1, $barcode1 );
652
653
    my ( $renewokay, $error ) = CanBookBeRenewed( $borrowernumber2, $itemnumber1 );
654
    is( $renewokay, 1, 'Bug 14337 - Verify the borrower can renew with no hold on the record' );
655
656
    AddReserve(
657
        'MPL', $borrowernumber2, $biblionumber,
658
        'a', '',  1, undef, undef, '',
659
        undef, undef, undef
660
    );
661
662
    ( $renewokay, $error ) = CanBookBeRenewed( $borrowernumber2, $itemnumber1 );
663
    is( $renewokay, 0, 'Bug 14337 - Verify the borrower cannot renew with a hold on the record' );
664
665
    C4::Context->dbh->do("UPDATE issuingrules SET onshelfholds = 1");
666
    C4::Context->set_preference( 'AllowRenewalIfOtherItemsAvailable', 1 );
667
668
    ( $renewokay, $error ) = CanBookBeRenewed( $borrowernumber2, $itemnumber1 );
669
    is( $renewokay, 1, 'Bug 14337 - Verify the borrower can renew with a hold on the record if AllowRenewalIfOtherItemsAvailable is enabled' );
670
671
    diag("Setting item not checked out to be not for loan but holdable");
672
    ModItem({ notforloan => -1 }, $biblionumber, $itemnumber2);
673
674
    ( $renewokay, $error ) = CanBookBeRenewed( $borrowernumber2, $itemnumber1 );
675
    is( $renewokay, 0, 'Bug 14337 - Verify the borrower can not renew with a hold on the record if AllowRenewalIfOtherItemsAvailable is enabled but the only available item is notforloan' );
676
}
598
677
678
$schema->storage->txn_rollback();
599
1;
679
1;
600
- 

Return to bug 14337