|
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 => 50; |
21 |
use Test::More tests => 51; |
| 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 36-41
use C4::Circulation;
Link Here
|
| 36 |
use C4::Biblio; |
36 |
use C4::Biblio; |
| 37 |
use C4::Items; |
37 |
use C4::Items; |
| 38 |
use C4::Log; |
38 |
use C4::Log; |
|
|
39 |
use C4::Message; |
| 39 |
use C4::Reserves; |
40 |
use C4::Reserves; |
| 40 |
use C4::Overdues qw(UpdateFine CalcFine); |
41 |
use C4::Overdues qw(UpdateFine CalcFine); |
| 41 |
use Koha::DateUtils; |
42 |
use Koha::DateUtils; |
|
Lines 46-51
use Koha::Checkouts;
Link Here
|
| 46 |
use Koha::Patrons; |
47 |
use Koha::Patrons; |
| 47 |
use Koha::Holds; |
48 |
use Koha::Holds; |
| 48 |
use Koha::CirculationRules; |
49 |
use Koha::CirculationRules; |
|
|
50 |
use Koha::Patron::Message::Attributes; |
| 51 |
use Koha::Patron::Message::Preferences; |
| 49 |
use Koha::Subscriptions; |
52 |
use Koha::Subscriptions; |
| 50 |
use Koha::Account::Lines; |
53 |
use Koha::Account::Lines; |
| 51 |
use Koha::Account::Offsets; |
54 |
use Koha::Account::Offsets; |
|
Lines 3038-3043
subtest 'ItemsDeniedRenewal preference' => sub {
Link Here
|
| 3038 |
is( $idr_mayrenew, 0, 'Renewal blocked for empty string when "" in pref' ); |
3041 |
is( $idr_mayrenew, 0, 'Renewal blocked for empty string when "" in pref' ); |
| 3039 |
}; |
3042 |
}; |
| 3040 |
|
3043 |
|
|
|
3044 |
subtest 'SendCirculationAlert test' => sub { |
| 3045 |
plan tests => 4; |
| 3046 |
|
| 3047 |
my $library = $builder->build( { source => 'Branch' } ); |
| 3048 |
my $patron = $builder->build( { source => 'Borrower' } ); |
| 3049 |
my $attribute = Koha::Patron::Message::Attributes->find({ |
| 3050 |
message_name => 'Item_Checkout', |
| 3051 |
}); |
| 3052 |
Koha::Patron::Message::Preference->new({ |
| 3053 |
borrowernumber => $patron->{'borrowernumber'}, |
| 3054 |
message_attribute_id => $attribute->message_attribute_id, |
| 3055 |
days_in_advance => undef, |
| 3056 |
wants_digest => 0, |
| 3057 |
message_transport_types => ['email'], |
| 3058 |
})->store; |
| 3059 |
my $biblioitem_1 = $builder->build( { source => 'Biblioitem' } ); |
| 3060 |
my $item_1 = $builder->build( |
| 3061 |
{ source => 'Item', |
| 3062 |
value => { |
| 3063 |
homebranch => $library->{branchcode}, |
| 3064 |
holdingbranch => $library->{branchcode}, |
| 3065 |
notforloan => 0, |
| 3066 |
itemlost => 0, |
| 3067 |
withdrawn => 0, |
| 3068 |
biblionumber => $biblioitem_1->{biblionumber} |
| 3069 |
} |
| 3070 |
} |
| 3071 |
); |
| 3072 |
|
| 3073 |
my $old_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email'); |
| 3074 |
$old_message->{'message_id'} = 0 unless $old_message; |
| 3075 |
is(C4::Circulation::SendCirculationAlert({ |
| 3076 |
type => 'CHECKOUT', |
| 3077 |
item => $item_1, |
| 3078 |
borrower => $patron, |
| 3079 |
branch => $library->{'branchcode'}, |
| 3080 |
}), undef, "SendCirculationAlert called."); |
| 3081 |
my $new_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email'); |
| 3082 |
ok($old_message->{'message_id'} != $new_message->{'message_id'}, "New message has appeared."); |
| 3083 |
is($new_message->{'letter_code'}, 'CHECKOUT', "New message letter code is CHECKOUT."); |
| 3084 |
is($new_message->{'borrowernumber'}, $patron->{'borrowernumber'}, "New message is to our test patron."); |
| 3085 |
}; |
| 3086 |
|
| 3041 |
subtest 'CanBookBeIssued | item-level_itypes=biblio' => sub { |
3087 |
subtest 'CanBookBeIssued | item-level_itypes=biblio' => sub { |
| 3042 |
plan tests => 2; |
3088 |
plan tests => 2; |
| 3043 |
|
3089 |
|