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

(-)a/t/db_dependent/Circulation.t (-3 / +59 lines)
Lines 18-24 Link Here
18
use Modern::Perl;
18
use Modern::Perl;
19
use utf8;
19
use utf8;
20
20
21
use Test::More tests => 55;
21
use Test::More tests => 56;
22
use Test::Exception;
22
use Test::Exception;
23
use Test::MockModule;
23
use Test::MockModule;
24
use Test::Deep qw( cmp_deeply );
24
use Test::Deep qw( cmp_deeply );
Lines 33-44 use t::lib::TestBuilder; Link Here
33
33
34
use C4::Accounts;
34
use C4::Accounts;
35
use C4::Calendar qw( new insert_single_holiday insert_week_day_holiday delete_holiday );
35
use C4::Calendar qw( new insert_single_holiday insert_week_day_holiday delete_holiday );
36
use C4::Circulation qw( AddIssue AddReturn CanBookBeRenewed GetIssuingCharges AddRenewal GetSoonestRenewDate GetLatestAutoRenewDate LostItem GetUpcomingDueIssues CanBookBeIssued AddIssuingCharge ProcessOfflinePayment transferbook updateWrongTransfer );
36
use C4::Circulation qw( AddIssue AddReturn CanBookBeRenewed GetIssuingCharges AddRenewal GetSoonestRenewDate GetLatestAutoRenewDate LostItem GetUpcomingDueIssues CanBookBeIssued AddIssuingCharge MarkIssueReturned ProcessOfflinePayment transferbook updateWrongTransfer );
37
use C4::Biblio;
37
use C4::Biblio;
38
use C4::Items qw( ModItemTransfer );
38
use C4::Items qw( ModItemTransfer );
39
use C4::Log;
39
use C4::Log;
40
use C4::Reserves qw( AddReserve ModReserve ModReserveCancelAll ModReserveAffect CheckReserves GetOtherReserves );
40
use C4::Reserves qw( AddReserve ModReserve ModReserveCancelAll ModReserveAffect CheckReserves GetOtherReserves );
41
use C4::Overdues qw( CalcFine UpdateFine get_chargeable_units );
41
use C4::Overdues qw( CalcFine UpdateFine get_chargeable_units );
42
use C4::Members::Messaging qw( SetMessagingPreference );
42
use Koha::DateUtils;
43
use Koha::DateUtils;
43
use Koha::Database;
44
use Koha::Database;
44
use Koha::Items;
45
use Koha::Items;
Lines 51-56 use Koha::Subscriptions; Link Here
51
use Koha::Account::Lines;
52
use Koha::Account::Lines;
52
use Koha::Account::Offsets;
53
use Koha::Account::Offsets;
53
use Koha::ActionLogs;
54
use Koha::ActionLogs;
55
use Koha::Notice::Messages;
54
56
55
sub set_userenv {
57
sub set_userenv {
56
    my ( $library ) = @_;
58
    my ( $library ) = @_;
Lines 4916-4921 subtest "updateWrongTransfer tests" => sub { Link Here
4916
    is( $original_transfer->cancellation_reason, 'WrongTransfer', "Original transfer cancellation reason is 'WrongTransfer'");
4918
    is( $original_transfer->cancellation_reason, 'WrongTransfer', "Original transfer cancellation reason is 'WrongTransfer'");
4917
};
4919
};
4918
4920
4921
subtest "SendCirculationAlert" => sub {
4922
    plan tests => 2;
4923
4924
    # Setup branch, borrowr, and notice
4925
    my $library = $builder->build_object({ class => 'Koha::Libraries' });
4926
    set_userenv( $library->unblessed);
4927
    my $patron = $builder->build_object({ class => 'Koha::Patrons' });
4928
    C4::Members::Messaging::SetMessagingPreference({
4929
        borrowernumber => $patron->id,
4930
        message_transport_types => ['email'],
4931
        message_attribute_id => 5
4932
    });
4933
    my $item = $builder->build_sample_item();
4934
    my $checkin_notice = $builder->build_object({
4935
        class => 'Koha::Notice::Templates',
4936
        value =>{
4937
            module => 'circulation',
4938
            code => 'CHECKIN',
4939
            branchcode => $library->branchcode,
4940
            name => 'Test Checkin',
4941
            is_html => 0,
4942
            content => "Checkins:\n----\n[% biblio.title %]-[% old_checkout.issue_id %]\n----Thank you.",
4943
            message_transport_type => 'email',
4944
            lang => 'default'
4945
        }
4946
    })->store;
4947
4948
    # Checkout an item, mark it returned, generate a notice
4949
    my $issue_1 = AddIssue( $patron->unblessed, $item->barcode);
4950
    MarkIssueReturned( $patron->borrowernumber, $item->itemnumber, undef, 0, { skip_record_index => 1} );
4951
    C4::Circulation::SendCirculationAlert({
4952
        type => 'CHECKIN',
4953
        item => $item->unblessed,
4954
        borrower => $patron->unblessed,
4955
        branch => $library->branchcode,
4956
        issue => $issue_1
4957
    });
4958
    my $notice = Koha::Notice::Messages->find({ borrowernumber => $patron->id, letter_code => 'CHECKIN' });
4959
    is($notice->content,"Checkins:\n".$item->biblio->title."-".$issue_1->id."\nThank you.", 'Letter generated with expected output on first checkin' );
4960
4961
    # Checkout an item, mark it returned, generate a notice
4962
    my $issue_2 = AddIssue( $patron->unblessed, $item->barcode);
4963
    MarkIssueReturned( $patron->borrowernumber, $item->itemnumber, undef, 0, { skip_record_index => 1} );
4964
    C4::Circulation::SendCirculationAlert({
4965
        type => 'CHECKIN',
4966
        item => $item->unblessed,
4967
        borrower => $patron->unblessed,
4968
        branch => $library->branchcode,
4969
        issue => $issue_2
4970
    });
4971
    $notice->discard_changes();
4972
    is($notice->content,"Checkins:\n".$item->biblio->title."-".$issue_1->id."\n".$item->biblio->title."-".$issue_2->id."\nThank you.", 'Letter appended with expected output on second checkin' );
4973
4974
};
4975
4919
$schema->storage->txn_rollback;
4976
$schema->storage->txn_rollback;
4920
C4::Context->clear_syspref_cache();
4977
C4::Context->clear_syspref_cache();
4921
$branches = Koha::Libraries->search();
4978
$branches = Koha::Libraries->search();
4922
- 

Return to bug 29062