|
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 => 48; |
21 |
use Test::More tests => 49; |
| 22 |
use Test::MockModule; |
22 |
use Test::MockModule; |
| 23 |
use Test::Deep qw( cmp_deeply ); |
23 |
use Test::Deep qw( cmp_deeply ); |
| 24 |
|
24 |
|
|
Lines 35-40
use C4::Circulation;
Link Here
|
| 35 |
use C4::Biblio; |
35 |
use C4::Biblio; |
| 36 |
use C4::Items; |
36 |
use C4::Items; |
| 37 |
use C4::Log; |
37 |
use C4::Log; |
|
|
38 |
use C4::Message; |
| 38 |
use C4::Reserves; |
39 |
use C4::Reserves; |
| 39 |
use C4::Overdues qw(UpdateFine CalcFine); |
40 |
use C4::Overdues qw(UpdateFine CalcFine); |
| 40 |
use Koha::DateUtils; |
41 |
use Koha::DateUtils; |
|
Lines 45-50
use Koha::Checkouts;
Link Here
|
| 45 |
use Koha::Patrons; |
46 |
use Koha::Patrons; |
| 46 |
use Koha::Holds; |
47 |
use Koha::Holds; |
| 47 |
use Koha::CirculationRules; |
48 |
use Koha::CirculationRules; |
|
|
49 |
use Koha::Patron::Message::Attributes; |
| 50 |
use Koha::Patron::Message::Preferences; |
| 48 |
use Koha::Subscriptions; |
51 |
use Koha::Subscriptions; |
| 49 |
use Koha::Account::Lines; |
52 |
use Koha::Account::Lines; |
| 50 |
use Koha::Account::Offsets; |
53 |
use Koha::Account::Offsets; |
|
Lines 3217-3222
subtest 'ItemsDeniedRenewal preference' => sub {
Link Here
|
| 3217 |
is( $idr_mayrenew, 0, 'Renewal blocked for empty string when "" in pref' ); |
3220 |
is( $idr_mayrenew, 0, 'Renewal blocked for empty string when "" in pref' ); |
| 3218 |
}; |
3221 |
}; |
| 3219 |
|
3222 |
|
|
|
3223 |
subtest 'SendCirculationAlert test' => sub { |
| 3224 |
plan tests => 4; |
| 3225 |
|
| 3226 |
my $library = $builder->build( { source => 'Branch' } ); |
| 3227 |
my $patron = $builder->build( { source => 'Borrower' } ); |
| 3228 |
my $attribute = Koha::Patron::Message::Attributes->find({ |
| 3229 |
message_name => 'Item_Checkout', |
| 3230 |
}); |
| 3231 |
Koha::Patron::Message::Preference->new({ |
| 3232 |
borrowernumber => $patron->{'borrowernumber'}, |
| 3233 |
message_attribute_id => $attribute->message_attribute_id, |
| 3234 |
days_in_advance => undef, |
| 3235 |
wants_digest => 0, |
| 3236 |
message_transport_types => ['email'], |
| 3237 |
})->store; |
| 3238 |
my $biblioitem_1 = $builder->build( { source => 'Biblioitem' } ); |
| 3239 |
my $item_1 = $builder->build( |
| 3240 |
{ source => 'Item', |
| 3241 |
value => { |
| 3242 |
homebranch => $library->{branchcode}, |
| 3243 |
holdingbranch => $library->{branchcode}, |
| 3244 |
notforloan => 0, |
| 3245 |
itemlost => 0, |
| 3246 |
withdrawn => 0, |
| 3247 |
biblionumber => $biblioitem_1->{biblionumber} |
| 3248 |
} |
| 3249 |
} |
| 3250 |
); |
| 3251 |
|
| 3252 |
my $old_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email'); |
| 3253 |
$old_message->{'message_id'} = 0 unless $old_message; |
| 3254 |
is(C4::Circulation::SendCirculationAlert({ |
| 3255 |
type => 'CHECKOUT', |
| 3256 |
item => $item_1, |
| 3257 |
borrower => $patron, |
| 3258 |
branch => $library->{'branchcode'}, |
| 3259 |
}), undef, "SendCirculationAlert called."); |
| 3260 |
my $new_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email'); |
| 3261 |
ok($old_message->{'message_id'} != $new_message->{'message_id'}, "New message has appeared."); |
| 3262 |
is($new_message->{'letter_code'}, 'CHECKOUT', "New message letter code is CHECKOUT."); |
| 3263 |
is($new_message->{'borrowernumber'}, $patron->{'borrowernumber'}, "New message is to our test patron."); |
| 3264 |
}; |
| 3265 |
|
| 3220 |
subtest 'CanBookBeIssued | item-level_itypes=biblio' => sub { |
3266 |
subtest 'CanBookBeIssued | item-level_itypes=biblio' => sub { |
| 3221 |
plan tests => 2; |
3267 |
plan tests => 2; |
| 3222 |
|
3268 |
|