|
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 => 45; |
21 |
use Test::More tests => 46; |
| 22 |
use Test::MockModule; |
22 |
use Test::MockModule; |
| 23 |
|
23 |
|
| 24 |
use Data::Dumper; |
24 |
use Data::Dumper; |
|
Lines 34-39
use C4::Circulation;
Link Here
|
| 34 |
use C4::Biblio; |
34 |
use C4::Biblio; |
| 35 |
use C4::Items; |
35 |
use C4::Items; |
| 36 |
use C4::Log; |
36 |
use C4::Log; |
|
|
37 |
use C4::Message; |
| 37 |
use C4::Reserves; |
38 |
use C4::Reserves; |
| 38 |
use C4::Overdues qw(UpdateFine CalcFine); |
39 |
use C4::Overdues qw(UpdateFine CalcFine); |
| 39 |
use Koha::DateUtils; |
40 |
use Koha::DateUtils; |
|
Lines 43-48
use Koha::Items;
Link Here
|
| 43 |
use Koha::Checkouts; |
44 |
use Koha::Checkouts; |
| 44 |
use Koha::Patrons; |
45 |
use Koha::Patrons; |
| 45 |
use Koha::CirculationRules; |
46 |
use Koha::CirculationRules; |
|
|
47 |
use Koha::Patron::Message::Attributes; |
| 48 |
use Koha::Patron::Message::Preferences; |
| 46 |
use Koha::Subscriptions; |
49 |
use Koha::Subscriptions; |
| 47 |
use Koha::Account::Lines; |
50 |
use Koha::Account::Lines; |
| 48 |
use Koha::Account::Offsets; |
51 |
use Koha::Account::Offsets; |
|
Lines 2829-2834
subtest 'ItemsDeniedRenewal preference' => sub {
Link Here
|
| 2829 |
is( $idr_mayrenew, 0, 'Renewal blocked for empty string when "" in pref' ); |
2832 |
is( $idr_mayrenew, 0, 'Renewal blocked for empty string when "" in pref' ); |
| 2830 |
}; |
2833 |
}; |
| 2831 |
|
2834 |
|
|
|
2835 |
subtest 'SendCirculationAlert test' => sub { |
| 2836 |
plan tests => 4; |
| 2837 |
|
| 2838 |
my $library = $builder->build( { source => 'Branch' } ); |
| 2839 |
my $patron = $builder->build( { source => 'Borrower' } ); |
| 2840 |
my $attribute = Koha::Patron::Message::Attributes->find({ |
| 2841 |
message_name => 'Item_Checkout', |
| 2842 |
}); |
| 2843 |
Koha::Patron::Message::Preference->new({ |
| 2844 |
borrowernumber => $patron->{'borrowernumber'}, |
| 2845 |
message_attribute_id => $attribute->message_attribute_id, |
| 2846 |
days_in_advance => undef, |
| 2847 |
wants_digest => 0, |
| 2848 |
message_transport_types => ['email'], |
| 2849 |
})->store; |
| 2850 |
my $biblioitem_1 = $builder->build( { source => 'Biblioitem' } ); |
| 2851 |
my $item_1 = $builder->build( |
| 2852 |
{ source => 'Item', |
| 2853 |
value => { |
| 2854 |
homebranch => $library->{branchcode}, |
| 2855 |
holdingbranch => $library->{branchcode}, |
| 2856 |
notforloan => 0, |
| 2857 |
itemlost => 0, |
| 2858 |
withdrawn => 0, |
| 2859 |
biblionumber => $biblioitem_1->{biblionumber} |
| 2860 |
} |
| 2861 |
} |
| 2862 |
); |
| 2863 |
|
| 2864 |
my $old_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email'); |
| 2865 |
$old_message->{'message_id'} = 0 unless $old_message; |
| 2866 |
is(C4::Circulation::SendCirculationAlert({ |
| 2867 |
type => 'CHECKOUT', |
| 2868 |
item => $item_1, |
| 2869 |
borrower => $patron, |
| 2870 |
branch => $library->{'branchcode'}, |
| 2871 |
}), undef, "SendCirculationAlert called."); |
| 2872 |
my $new_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email'); |
| 2873 |
ok($old_message->{'message_id'} != $new_message->{'message_id'}, "New message has appeared."); |
| 2874 |
is($new_message->{'letter_code'}, 'CHECKOUT', "New message letter code is CHECKOUT."); |
| 2875 |
is($new_message->{'borrowernumber'}, $patron->{'borrowernumber'}, "New message is to our test patron."); |
| 2876 |
}; |
| 2877 |
|
| 2832 |
subtest 'CanBookBeIssued | item-level_itypes=biblio' => sub { |
2878 |
subtest 'CanBookBeIssued | item-level_itypes=biblio' => sub { |
| 2833 |
plan tests => 2; |
2879 |
plan tests => 2; |
| 2834 |
|
2880 |
|