};
subtest "SendCirculationAlert" => sub {
- plan tests => 2;
+ plan tests => 3;
# When you would unsuspectingly call this unit test (with perl, not prove), you will be bitten by LOCK.
# LOCK will commit changes and ruin your data
my $patron = $builder->build_object({ class => 'Koha::Patrons' });
C4::Members::Messaging::SetMessagingPreference({
borrowernumber => $patron->id,
- message_transport_types => ['email'],
+ message_transport_types => ['sms'],
message_attribute_id => 5
});
my $item = $builder->build_sample_item();
name => 'Test Checkin',
is_html => 0,
content => "Checkins:\n----\n[% biblio.title %]-[% old_checkout.issue_id %]\n----Thank you.",
- message_transport_type => 'email',
+ message_transport_type => 'sms',
lang => 'default'
}
})->store;
});
my $notice = Koha::Notice::Messages->find({ borrowernumber => $patron->id, letter_code => 'CHECKIN' });
is($notice->content,"Checkins:\n".$item->biblio->title."-".$issue_1->id."\nThank you.", 'Letter generated with expected output on first checkin' );
+ is($notice->to_address, $patron->smsalertnumber, "Letter has the correct to_address set to smsalertnumber for SMS type notices");
# Checkout an item, mark it returned, generate a notice
my $issue_2 = AddIssue( $patron->unblessed, $item->barcode);
};
-subtest 'SendQueuedMessages' => sub {
+subtest 'Test SMS handling in SendQueuedMessages' => sub {
- plan tests => 12;
+ plan tests => 13;
t::lib::Mocks::mock_preference( 'SMSSendDriver', 'Email' );
t::lib::Mocks::mock_preference('EmailSMSSendDriverFromAddress', '');
})->next()->to_address();
is( $sms_message_address, '5555555555@kidclamp.rocks', 'SendQueuedMessages populates the to address correctly for SMS by email when to_address is set incorrectly' );
+ # Test using SMS::Send::Test driver that's bundled with SMS::Send
+ t::lib::Mocks::mock_preference('SMSSendDriver', "AU::Test");
+
+ $schema->resultset('MessageQueue')->search({borrowernumber => $borrowernumber, status => 'sent'})->delete(); #clear borrower queue
+ C4::Letters::EnqueueLetter($my_message);
+ C4::Letters::SendQueuedMessages();
+
+ $sms_message_address = $schema->resultset('MessageQueue')->search({
+ borrowernumber => $borrowernumber,
+ status => 'sent'
+ })->next()->to_address();
+ 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' );
+
};
subtest 'get_item_content' => sub {