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

(-)a/t/db_dependent/Circulation.t (-1 / +48 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 95;
20
use Test::More tests => 96;
21
21
22
use DateTime;
22
use DateTime;
23
23
Lines 29-39 use C4::Biblio; Link Here
29
use C4::Items;
29
use C4::Items;
30
use C4::Log;
30
use C4::Log;
31
use C4::Members;
31
use C4::Members;
32
use C4::Message;
32
use C4::Reserves;
33
use C4::Reserves;
33
use C4::Overdues qw(UpdateFine CalcFine);
34
use C4::Overdues qw(UpdateFine CalcFine);
34
use Koha::DateUtils;
35
use Koha::DateUtils;
35
use Koha::Database;
36
use Koha::Database;
36
use Koha::IssuingRules;
37
use Koha::IssuingRules;
38
use Koha::Patron::Message::Attributes;
39
use Koha::Patron::Message::Preferences;
37
use Koha::Subscriptions;
40
use Koha::Subscriptions;
38
41
39
my $schema = Koha::Database->schema;
42
my $schema = Koha::Database->schema;
Lines 1520-1525 subtest 'AddReturn + CumulativeRestrictionPeriods' => sub { Link Here
1520
            }
1523
            }
1521
        }
1524
        }
1522
    );
1525
    );
1526
1523
    my $biblioitem_2 = $builder->build( { source => 'Biblioitem' } );
1527
    my $biblioitem_2 = $builder->build( { source => 'Biblioitem' } );
1524
    my $item_2 = $builder->build(
1528
    my $item_2 = $builder->build(
1525
        {
1529
        {
Lines 1626-1631 subtest 'AddReturn + CumulativeRestrictionPeriods' => sub { Link Here
1626
    is( $debarments->[0]->{expiration}, $expected_expiration );
1630
    is( $debarments->[0]->{expiration}, $expected_expiration );
1627
};
1631
};
1628
1632
1633
subtest 'SendCirculationAlert test' => sub {
1634
    plan tests => 4;
1635
1636
    my $library = $builder->build( { source => 'Branch' } );
1637
    my $patron  = $builder->build( { source => 'Borrower' } );
1638
    my $attribute = Koha::Patron::Message::Attributes->find({
1639
        message_name => 'Item_Checkout',
1640
    });
1641
    Koha::Patron::Message::Preference->new({
1642
        borrowernumber => $patron->{'borrowernumber'},
1643
        message_attribute_id => $attribute->message_attribute_id,
1644
        days_in_advance => 0,
1645
        wants_digest => 0,
1646
        message_transport_types => ['email'],
1647
    })->store;
1648
    my $biblioitem_1 = $builder->build( { source => 'Biblioitem' } );
1649
    my $item_1 = $builder->build(
1650
        {   source => 'Item',
1651
            value  => {
1652
                homebranch    => $library->{branchcode},
1653
                holdingbranch => $library->{branchcode},
1654
                notforloan    => 0,
1655
                itemlost      => 0,
1656
                withdrawn     => 0,
1657
                biblionumber  => $biblioitem_1->{biblionumber}
1658
            }
1659
        }
1660
    );
1661
1662
    my $old_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email');
1663
    $old_message->{'message_id'} = 0 unless $old_message;
1664
    is(C4::Circulation::SendCirculationAlert({
1665
        type     => 'CHECKOUT',
1666
        item     => $item_1,
1667
        borrower => $patron,
1668
        branch   => $library->{'branchcode'},
1669
    }), undef, "SendCirculationAlert called.");
1670
    my $new_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email');
1671
    ok($old_message->{'message_id'} != $new_message->{'message_id'}, "New message has appeared.");
1672
    is($new_message->{'letter_code'}, 'CHECKOUT', "New message letter code is CHECKOUT.");
1673
    is($new_message->{'borrowernumber'}, $patron->{'borrowernumber'}, "New message is to our test patron.");
1674
};
1675
1629
sub set_userenv {
1676
sub set_userenv {
1630
    my ( $library ) = @_;
1677
    my ( $library ) = @_;
1631
    C4::Context->set_userenv(0,0,0,'firstname','surname', $library->{branchcode}, $library->{branchname}, '', '', '');
1678
    C4::Context->set_userenv(0,0,0,'firstname','surname', $library->{branchcode}, $library->{branchname}, '', '', '');
(-)a/t/db_dependent/Reserves.t (-14 / +11 lines)
Lines 38-43 use Koha::Holds; Link Here
38
use Koha::Libraries;
38
use Koha::Libraries;
39
use Koha::Notice::Templates;
39
use Koha::Notice::Templates;
40
use Koha::Patron::Categories;
40
use Koha::Patron::Categories;
41
use Koha::Patron::Message::Preference;
41
42
42
BEGIN {
43
BEGIN {
43
    require_ok('C4::Reserves');
44
    require_ok('C4::Reserves');
Lines 718-736 subtest '_koha_notify_reserve() tests' => sub { Link Here
718
719
719
    plan tests => 2;
720
    plan tests => 2;
720
721
721
    my $wants_hold_and_email = {
722
        wants_digest => '0',
723
        transports => {
724
            sms => 'HOLD',
725
            email => 'HOLD',
726
            },
727
        letter_code => 'HOLD'
728
    };
729
730
    my $mp = Test::MockModule->new( 'C4::Members::Messaging' );
731
732
    $mp->mock("GetMessagingPreferences",$wants_hold_and_email);
733
734
    $dbh->do('DELETE FROM letter');
722
    $dbh->do('DELETE FROM letter');
735
723
736
    my $email_hold_notice = $builder->build({
724
    my $email_hold_notice = $builder->build({
Lines 770-775 subtest '_koha_notify_reserve() tests' => sub { Link Here
770
            }
758
            }
771
        });
759
        });
772
760
761
    my $message_attr_id = Koha::Patron::Message::Attributes->find({
762
        message_name => 'Hold_Filled'
763
    })->message_attribute_id;
764
    Koha::Patron::Message::Preference->new({
765
        borrowernumber => $hold_borrower,
766
        message_attribute_id   => $message_attr_id,
767
        message_transport_types => ['sms', 'email'],
768
        wants_digest   => 0,
769
    })->store;
770
773
    ModReserveAffect($hold->{itemnumber}, $hold->{borrowernumber}, 0);
771
    ModReserveAffect($hold->{itemnumber}, $hold->{borrowernumber}, 0);
774
    my $sms_message_address = $schema->resultset('MessageQueue')->search({
772
    my $sms_message_address = $schema->resultset('MessageQueue')->search({
775
            letter_code     => 'HOLD',
773
            letter_code     => 'HOLD',
776
- 

Return to bug 18595