Lines 42-47
$schema->storage->txn_begin;
Link Here
|
42 |
my $dbh = C4::Context->dbh; |
42 |
my $dbh = C4::Context->dbh; |
43 |
my $builder = t::lib::TestBuilder->new; |
43 |
my $builder = t::lib::TestBuilder->new; |
44 |
|
44 |
|
|
|
45 |
t::lib::Mocks::mock_preference( "EmailPurchaseSuggestions", "0"); |
46 |
|
45 |
# Reset item types to only the default ones |
47 |
# Reset item types to only the default ones |
46 |
$dbh->do(q|DELETE FROM itemtypes;|); |
48 |
$dbh->do(q|DELETE FROM itemtypes;|); |
47 |
my $sql = qq| |
49 |
my $sql = qq| |
Lines 191-198
isnt( $suggestion->{accepteddate}, undef, 'ModSuggestion does not update a non g
Link Here
|
191 |
is( $suggestion->{note}, 'my note', 'ModSuggestion should not erase data if not given' ); |
193 |
is( $suggestion->{note}, 'my note', 'ModSuggestion should not erase data if not given' ); |
192 |
|
194 |
|
193 |
my $messages = C4::Letters::GetQueuedMessages({ |
195 |
my $messages = C4::Letters::GetQueuedMessages({ |
194 |
borrowernumber => $borrowernumber, |
196 |
borrowernumber => $borrowernumber |
195 |
letter_code => 'CHECKED', |
|
|
196 |
}); |
197 |
}); |
197 |
is( @$messages, 0, 'ModSuggestions does not send an email if the status is not updated' ); |
198 |
is( @$messages, 0, 'ModSuggestions does not send an email if the status is not updated' ); |
198 |
|
199 |
|
Lines 219-226
is( $status, 1, 'ModSuggestion modifies one entry' );
Link Here
|
219 |
$suggestion = GetSuggestion($my_suggestionid); |
220 |
$suggestion = GetSuggestion($my_suggestionid); |
220 |
is( $suggestion->{STATUS}, $mod_suggestion3->{STATUS}, 'ModSuggestion modifies the status correctly' ); |
221 |
is( $suggestion->{STATUS}, $mod_suggestion3->{STATUS}, 'ModSuggestion modifies the status correctly' ); |
221 |
$messages = C4::Letters::GetQueuedMessages({ |
222 |
$messages = C4::Letters::GetQueuedMessages({ |
222 |
borrowernumber => $borrowernumber, |
223 |
borrowernumber => $borrowernumber |
223 |
letter_code => 'CHECKED', |
|
|
224 |
}); |
224 |
}); |
225 |
is( @$messages, 1, 'ModSuggestion sends an email if the status is updated' ); |
225 |
is( @$messages, 1, 'ModSuggestion sends an email if the status is updated' ); |
226 |
is ($messages->[0]->{message_transport_type}, 'email', 'When FallbackToSMSIfNoEmail syspref is disabled the suggestion message_transport_type is always email'); |
226 |
is ($messages->[0]->{message_transport_type}, 'email', 'When FallbackToSMSIfNoEmail syspref is disabled the suggestion message_transport_type is always email'); |
Lines 230-237
is( CountSuggestion('CHECKED'), 1, 'CountSuggestion returns the correct number o
Link Here
|
230 |
t::lib::Mocks::mock_preference( 'FallbackToSMSIfNoEmail', 1 ); |
230 |
t::lib::Mocks::mock_preference( 'FallbackToSMSIfNoEmail', 1 ); |
231 |
ModSuggestion($mod_suggestion3); |
231 |
ModSuggestion($mod_suggestion3); |
232 |
$messages = C4::Letters::GetQueuedMessages({ |
232 |
$messages = C4::Letters::GetQueuedMessages({ |
233 |
borrowernumber => $borrowernumber, |
233 |
borrowernumber => $borrowernumber |
234 |
letter_code => 'CHECKED', |
|
|
235 |
}); |
234 |
}); |
236 |
is ($messages->[1]->{message_transport_type}, 'sms', 'When FallbackToSMSIfNoEmail syspref is enabled the suggestion message_transport_type is sms if the borrower has no email'); |
235 |
is ($messages->[1]->{message_transport_type}, 'sms', 'When FallbackToSMSIfNoEmail syspref is enabled the suggestion message_transport_type is sms if the borrower has no email'); |
237 |
|
236 |
|
Lines 246-253
my $mod_suggestion4 = {
Link Here
|
246 |
}; |
245 |
}; |
247 |
ModSuggestion($mod_suggestion4); |
246 |
ModSuggestion($mod_suggestion4); |
248 |
$messages = C4::Letters::GetQueuedMessages({ |
247 |
$messages = C4::Letters::GetQueuedMessages({ |
249 |
borrowernumber => $borrowernumber2, |
248 |
borrowernumber => $borrowernumber2 |
250 |
letter_code => 'CHECKED', |
|
|
251 |
}); |
249 |
}); |
252 |
is ($messages->[0]->{message_transport_type}, 'email', 'When FallbackToSMSIfNoEmail syspref is enabled the suggestion message_transport_type is email if the borrower has an email'); |
250 |
is ($messages->[0]->{message_transport_type}, 'email', 'When FallbackToSMSIfNoEmail syspref is enabled the suggestion message_transport_type is email if the borrower has an email'); |
253 |
|
251 |
|
Lines 489-496
subtest 'EmailPurchaseSuggestions' => sub {
Link Here
|
489 |
t::lib::Mocks::mock_preference( "EmailPurchaseSuggestions", "KohaAdminEmailAddress"); |
487 |
t::lib::Mocks::mock_preference( "EmailPurchaseSuggestions", "KohaAdminEmailAddress"); |
490 |
NewSuggestion($my_suggestion); |
488 |
NewSuggestion($my_suggestion); |
491 |
my $newsuggestions_messages = C4::Letters::GetQueuedMessages({ |
489 |
my $newsuggestions_messages = C4::Letters::GetQueuedMessages({ |
492 |
borrowernumber => $borrowernumber, |
490 |
borrowernumber => $borrowernumber |
493 |
letter_code => 'NEW_SUGGESTION', |
|
|
494 |
}); |
491 |
}); |
495 |
|
492 |
|
496 |
is( @$newsuggestions_messages, 1, 'NewSuggestions sends an email' ); |
493 |
is( @$newsuggestions_messages, 1, 'NewSuggestions sends an email' ); |
Lines 500-507
subtest 'EmailPurchaseSuggestions' => sub {
Link Here
|
500 |
t::lib::Mocks::mock_preference( "EmailPurchaseSuggestions", "EmailAddressForSuggestions"); |
497 |
t::lib::Mocks::mock_preference( "EmailPurchaseSuggestions", "EmailAddressForSuggestions"); |
501 |
NewSuggestion($my_suggestion); |
498 |
NewSuggestion($my_suggestion); |
502 |
$newsuggestions_messages = C4::Letters::GetQueuedMessages({ |
499 |
$newsuggestions_messages = C4::Letters::GetQueuedMessages({ |
503 |
borrowernumber => $borrowernumber, |
500 |
borrowernumber => $borrowernumber |
504 |
letter_code => 'NEW_SUGGESTION', |
|
|
505 |
}); |
501 |
}); |
506 |
my $message2 = C4::Letters::GetMessage( $newsuggestions_messages->[1]->{message_id}); |
502 |
my $message2 = C4::Letters::GetMessage( $newsuggestions_messages->[1]->{message_id}); |
507 |
is ($message2->{to_address}, 'a@b.c', 'to_address is EmailAddressForSuggestions'); |
503 |
is ($message2->{to_address}, 'a@b.c', 'to_address is EmailAddressForSuggestions'); |
Lines 509-516
subtest 'EmailPurchaseSuggestions' => sub {
Link Here
|
509 |
t::lib::Mocks::mock_preference( "EmailPurchaseSuggestions", "BranchEmailAddress"); |
505 |
t::lib::Mocks::mock_preference( "EmailPurchaseSuggestions", "BranchEmailAddress"); |
510 |
NewSuggestion($my_suggestion); |
506 |
NewSuggestion($my_suggestion); |
511 |
$newsuggestions_messages = C4::Letters::GetQueuedMessages({ |
507 |
$newsuggestions_messages = C4::Letters::GetQueuedMessages({ |
512 |
borrowernumber => $borrowernumber, |
508 |
borrowernumber => $borrowernumber |
513 |
letter_code => 'NEW_SUGGESTION', |
|
|
514 |
}); |
509 |
}); |
515 |
my $message3 = C4::Letters::GetMessage( $newsuggestions_messages->[2]->{message_id}); |
510 |
my $message3 = C4::Letters::GetMessage( $newsuggestions_messages->[2]->{message_id}); |
516 |
is ($message3->{to_address}, 'branchemail@b.c', 'to_address is BranchEmailAddress'); |
511 |
is ($message3->{to_address}, 'branchemail@b.c', 'to_address is BranchEmailAddress'); |
Lines 518-525
subtest 'EmailPurchaseSuggestions' => sub {
Link Here
|
518 |
Koha::Libraries->find('CPL')->update({ branchemail => undef }); |
513 |
Koha::Libraries->find('CPL')->update({ branchemail => undef }); |
519 |
NewSuggestion($my_suggestion); |
514 |
NewSuggestion($my_suggestion); |
520 |
$newsuggestions_messages = C4::Letters::GetQueuedMessages({ |
515 |
$newsuggestions_messages = C4::Letters::GetQueuedMessages({ |
521 |
borrowernumber => $borrowernumber, |
516 |
borrowernumber => $borrowernumber |
522 |
letter_code => 'NEW_SUGGESTION', |
|
|
523 |
}); |
517 |
}); |
524 |
my $message4 = C4::Letters::GetMessage( $newsuggestions_messages->[3]->{message_id}); |
518 |
my $message4 = C4::Letters::GetMessage( $newsuggestions_messages->[3]->{message_id}); |
525 |
isnt ($message4->{to_address}, 'branchemail@b.c', 'to_address is KohaAdminEmailAddress. Because branchemail is undef'); |
519 |
isnt ($message4->{to_address}, 'branchemail@b.c', 'to_address is KohaAdminEmailAddress. Because branchemail is undef'); |
526 |
- |
|
|