|
Lines 869-875
subtest 'Test SMS handling in SendQueuedMessages' => sub {
Link Here
|
| 869 |
t::lib::Mocks::mock_preference( 'SMSSendDriver', 'Email' ); |
869 |
t::lib::Mocks::mock_preference( 'SMSSendDriver', 'Email' ); |
| 870 |
t::lib::Mocks::mock_preference('EmailSMSSendDriverFromAddress', ''); |
870 |
t::lib::Mocks::mock_preference('EmailSMSSendDriverFromAddress', ''); |
| 871 |
|
871 |
|
| 872 |
t::lib::Mocks::mock_preference( 'RedirectGuaranteeEmail', '0' ); |
|
|
| 873 |
my $patron = Koha::Patrons->find($borrowernumber); |
872 |
my $patron = Koha::Patrons->find($borrowernumber); |
| 874 |
$dbh->do(q| |
873 |
$dbh->do(q| |
| 875 |
INSERT INTO message_queue(borrowernumber, subject, content, message_transport_type, status, letter_code) |
874 |
INSERT INTO message_queue(borrowernumber, subject, content, message_transport_type, status, letter_code) |
|
Lines 953-958
subtest 'Test SMS handling in SendQueuedMessages' => sub {
Link Here
|
| 953 |
})->next()->to_address(); |
952 |
})->next()->to_address(); |
| 954 |
is( $sms_message_address, '5555555555', 'SendQueuedMessages populates the to address correctly for SMS by SMS::Send driver to smsalertnumber when to_address is set incorrectly' ); |
953 |
is( $sms_message_address, '5555555555', 'SendQueuedMessages populates the to address correctly for SMS by SMS::Send driver to smsalertnumber when to_address is set incorrectly' ); |
| 955 |
|
954 |
|
|
|
955 |
$schema->resultset('MessageQueue')->search({borrowernumber => $borrowernumber, status => 'sent'})->delete(); #clear borrower queue |
| 956 |
}; |
| 957 |
|
| 958 |
subtest 'Test guarantor handling in SendQueuedMessages' => sub { |
| 959 |
|
| 960 |
plan tests => 14; |
| 961 |
|
| 962 |
t::lib::Mocks::mock_preference( 'borrowerRelationship', 'test' ); |
| 963 |
|
| 964 |
my $patron = Koha::Patrons->find($borrowernumber); |
| 965 |
my $guarantor1 = $builder->build_object( { class => 'Koha::Patrons', value => { email => 'g1@email.com' } } ); |
| 966 |
my $guarantor2 = $builder->build_object( { class => 'Koha::Patrons', value => { email => 'g2@email.com' } } ); |
| 967 |
$patron->add_guarantor( { guarantor_id => $guarantor1->borrowernumber, relationship => 'test' } ); |
| 968 |
$patron->add_guarantor( { guarantor_id => $guarantor2->borrowernumber, relationship => 'test' } ); |
| 969 |
|
| 970 |
$my_message = { |
| 971 |
'letter' => { |
| 972 |
'content' => 'a message', |
| 973 |
'metadata' => 'metadata', |
| 974 |
'code' => 'TEST_MESSAGE', |
| 975 |
'content_type' => 'text/plain', |
| 976 |
'title' => 'message title' |
| 977 |
}, |
| 978 |
'borrowernumber' => $borrowernumber, |
| 979 |
'to_address' => undef, |
| 980 |
'message_transport_type' => 'email', |
| 981 |
'from_address' => 'from@example.com' |
| 982 |
}; |
| 983 |
$message_id = C4::Letters::EnqueueLetter($my_message); |
| 984 |
|
| 985 |
t::lib::Mocks::mock_preference( 'RedirectGuaranteeEmail', '1' ); |
| 986 |
|
| 987 |
# reset message |
| 988 |
$schema->resultset('MessageQueue')->search( { borrowernumber => $borrowernumber, status => 'sent' } ) |
| 989 |
->update( { status => 'pending', failure_code => undef } ); |
| 990 |
|
| 991 |
warning_like { C4::Letters::SendQueuedMessages(); } |
| 992 |
qr|Fake send_or_die|, |
| 993 |
"SendQueuedMessages is using the mocked send_or_die routine"; |
| 994 |
|
| 995 |
$message = $schema->resultset('MessageQueue')->search( |
| 996 |
{ |
| 997 |
borrowernumber => $borrowernumber, |
| 998 |
status => 'sent' |
| 999 |
} |
| 1000 |
)->next(); |
| 1001 |
|
| 1002 |
is( |
| 1003 |
$message->to_address(), |
| 1004 |
$guarantor1->email, |
| 1005 |
'SendQueuedMessages uses first guarantor email for "to" when patron has no email' |
| 1006 |
); |
| 1007 |
|
| 1008 |
is( |
| 1009 |
$message->cc_address(), |
| 1010 |
$guarantor2->email, |
| 1011 |
'SendQueuedMessages sets cc address to second guarantor email when "to" takes first guarantor email' |
| 1012 |
); |
| 1013 |
|
| 1014 |
is( $email_object->email->header('To'), $guarantor1->email, "mailto correctly uses first guarantor" ); |
| 1015 |
is( $email_object->email->header('Cc'), $guarantor2->email, "cc correctly uses second guarantor" ); |
| 1016 |
|
| 1017 |
t::lib::Mocks::mock_preference( 'RedirectGuaranteeEmail', '0' ); |
| 1018 |
warning_like { C4::Letters::SendQueuedMessages(); } |
| 1019 |
qr|No 'to_address', email address or guarantors email address for borrowernumber|, |
| 1020 |
"SendQueuedMessages fails when no to_address, patron notice email and RedirectGuaranteeEmail is not set"; |
| 1021 |
|
| 1022 |
$schema->resultset('MessageQueue')->search( { borrowernumber => $borrowernumber, status => 'sent' } )->delete() |
| 1023 |
; #clear borrower queue |
| 956 |
}; |
1024 |
}; |
| 957 |
|
1025 |
|
| 958 |
subtest 'get_item_content' => sub { |
1026 |
subtest 'get_item_content' => sub { |
| 959 |
- |
|
|