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

(-)a/t/db_dependent/Circulation.t (-1 / +89 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 119;
20
use Test::More tests => 120;
21
use Test::MockModule;
21
22
22
use Data::Dumper;
23
use Data::Dumper;
23
use DateTime;
24
use DateTime;
Lines 2620-2625 subtest 'AddReturn should clear items.onloan for unissued items' => sub { Link Here
2620
$schema->storage->txn_rollback;
2621
$schema->storage->txn_rollback;
2621
$cache->clear_from_cache('single_holidays');
2622
$cache->clear_from_cache('single_holidays');
2622
2623
2624
subtest 'AddRenewal and AddIssuingCharge tests' => sub {
2625
2626
    plan tests => 12;
2627
2628
    $schema->storage->txn_begin;
2629
2630
    my $issuing_charges = 15;
2631
    my $title   = 'A title';
2632
    my $author  = 'Author, An';
2633
    my $barcode = 'WHATARETHEODDS';
2634
2635
    my $circ = Test::MockModule->new('C4::Circulation');
2636
    $circ->mock(
2637
        'GetIssuingCharges',
2638
        sub {
2639
            return $issuing_charges;
2640
        }
2641
    );
2642
2643
    my $library  = $builder->build_object({ class => 'Koha::Libraries' });
2644
    my $itemtype = $builder->build_object({ class => 'Koha::ItemTypes' });
2645
    my $patron   = $builder->build_object({
2646
        class => 'Koha::Patrons',
2647
        value => { branchcode => $library->id }
2648
    });
2649
2650
    my ( $biblionumber, $biblioitemnumber ) = add_biblio( $title, $author );
2651
    my ( undef, undef, $item_id ) = AddItem(
2652
        {
2653
            homebranch       => $library->id,
2654
            holdingbranch    => $library->id,
2655
            barcode          => $barcode,
2656
            replacementprice => 23.00,
2657
            itype            => $itemtype->id
2658
        },
2659
        $biblionumber
2660
    );
2661
    my $item = Koha::Items->find( $item_id );
2662
2663
    my $items = Test::MockModule->new('C4::Items');
2664
    $items->mock( GetItem => $item->unblessed );
2665
    my $context = Test::MockModule->new('C4::Context');
2666
    $context->mock( userenv => { branch => $library->id } );
2667
2668
    # Check the item out
2669
    AddIssue( $patron->unblessed, $item->barcode );
2670
2671
    t::lib::Mocks::mock_preference( 'RenewalLog', 0 );
2672
    my $date = output_pref( { dt => dt_from_string(), datenonly => 1, dateformat => 'iso' } );
2673
    my $old_log_size = scalar( @{ GetLogs( $date, $date, undef, ["CIRCULATION"], ["RENEWAL"] ) } );
2674
    AddRenewal( $patron->id, $item->id, $library->id );
2675
    my $new_log_size = scalar( @{ GetLogs( $date, $date, undef, ["CIRCULATION"], ["RENEWAL"] ) } );
2676
    is( $new_log_size, $old_log_size, 'renew log not added because of the syspref RenewalLog' );
2677
2678
    t::lib::Mocks::mock_preference( 'RenewalLog', 1 );
2679
    $date = output_pref( { dt => dt_from_string(), datenonly => 1, dateformat => 'iso' } );
2680
    $old_log_size = scalar( @{ GetLogs( $date, $date, undef, ["CIRCULATION"], ["RENEWAL"] ) } );
2681
    AddRenewal( $patron->id, $item->id, $library->id );
2682
    $new_log_size = scalar( @{ GetLogs( $date, $date, undef, ["CIRCULATION"], ["RENEWAL"] ) } );
2683
    is( $new_log_size, $old_log_size + 1, 'renew log successfully added' );
2684
2685
    my $lines = Koha::Account::Lines->search({
2686
        borrowernumber => $patron->id,
2687
        itemnumber     => $item->id
2688
    });
2689
2690
    is( $lines->count, 3 );
2691
2692
    my $line = $lines->next;
2693
    is( $line->accounttype, 'Rent',       'The issuing charge generates an accountline' );
2694
    is( $line->branchcode,  $library->id, 'AddIssuingCharge correctly sets branchcode' );
2695
    is( $line->description, 'Rental',     'AddIssuingCharge set a hardcoded description for the accountline' );
2696
2697
    $line = $lines->next;
2698
    is( $line->accounttype, 'Rent', 'Fine on renewed item is closed out properly' );
2699
    is( $line->branchcode,  $library->id, 'AddRenewal correctly sets branchcode' );
2700
    is( $line->description, "Renewal of Rental Item $title $barcode", 'AddRenewal set a hardcoded description for the accountline' );
2701
2702
    $line = $lines->next;
2703
    is( $line->accounttype, 'Rent', 'Fine on renewed item is closed out properly' );
2704
    is( $line->branchcode,  $library->id, 'AddRenewal correctly sets branchcode' );
2705
    is( $line->description, "Renewal of Rental Item $title $barcode", 'AddRenewal set a hardcoded description for the accountline' );
2706
2707
    $schema->storage->txn_rollback;
2708
};
2709
2710
2623
sub set_userenv {
2711
sub set_userenv {
2624
    my ( $library ) = @_;
2712
    my ( $library ) = @_;
2625
    C4::Context->set_userenv(0,0,0,'firstname','surname', $library->{branchcode}, $library->{branchname}, '', '', '');
2713
    C4::Context->set_userenv(0,0,0,'firstname','surname', $library->{branchcode}, $library->{branchname}, '', '', '');
(-)a/t/db_dependent/Reserves.t (-2 / +26 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 57;
20
use Test::More tests => 58;
21
use Test::MockModule;
21
use Test::MockModule;
22
use Test::Warn;
22
use Test::Warn;
23
23
Lines 719-724 subtest 'ReservesNeedReturns' => sub { Link Here
719
    is( $hold->found, undef, 'If ReservesNeedReturns is 1, found must not have been set waiting' );
719
    is( $hold->found, undef, 'If ReservesNeedReturns is 1, found must not have been set waiting' );
720
};
720
};
721
721
722
subtest 'ChargeReserveFee tests' => sub {
723
724
    plan tests => 8;
725
726
    my $library = $builder->build_object({ class => 'Koha::Libraries' });
727
    my $patron  = $builder->build_object({ class => 'Koha::Patrons' });
728
729
    my $fee   = 20;
730
    my $title = 'A title';
731
732
    my $context = Test::MockModule->new('C4::Context');
733
    $context->mock( userenv => { branch => $library->id } );
734
735
    my $line = C4::Reserves::ChargeReserveFee( $patron->id, $fee, $title );
736
737
    is( ref($line), 'Koha::Account::Line' , 'Returns a Koha::Account::Line object');
738
    ok( $line->is_debit, 'Generates a debit line' );
739
    is( $line->accounttype, 'Res' , 'generates Res accounttype');
740
    is( $line->borrowernumber, $patron->id , 'generated line belongs to the passed patron');
741
    is( $line->amount, $fee , 'amount set correctly');
742
    is( $line->amountoutstanding, $fee , 'amountoutstanding set correctly');
743
    is( $line->description, "Reserve Charge - $title" , 'Hardcoded description is generated');
744
    is( $line->branchcode, $library->id , "Library id is picked from userenv and stored correctly" );
745
};
746
722
sub count_hold_print_messages {
747
sub count_hold_print_messages {
723
    my $message_count = $dbh->selectall_arrayref(q{
748
    my $message_count = $dbh->selectall_arrayref(q{
724
        SELECT COUNT(*)
749
        SELECT COUNT(*)
725
- 

Return to bug 19066