Browse Source

Bug 30838: (QA follow-up) Add unit tests

Two tests added, one in t/db_dependent/Circulation.t to catch the
initial setting of to_address at enqueue time and a second in
t/db_dependent/Letters.t to catch the correcting at send time.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
22.11.x
Martin Renvoize 2 years ago
committed by Tomas Cohen Arazi
parent
commit
467b444c7e
Signed by: tomascohen GPG Key ID: 0A272EA1B2F3C15F
  1. 7
      t/db_dependent/Circulation.t
  2. 17
      t/db_dependent/Letters.t

7
t/db_dependent/Circulation.t

@ -5404,7 +5404,7 @@ subtest "updateWrongTransfer tests" => sub {
};
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
@ -5417,7 +5417,7 @@ subtest "SendCirculationAlert" => sub {
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();
@ -5430,7 +5430,7 @@ subtest "SendCirculationAlert" => sub {
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;
@ -5447,6 +5447,7 @@ subtest "SendCirculationAlert" => sub {
});
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);

17
t/db_dependent/Letters.t

@ -779,9 +779,9 @@ subtest 'TranslateNotices' => sub {
};
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', '');
@ -855,6 +855,19 @@ subtest 'SendQueuedMessages' => sub {
})->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 {

Loading…
Cancel
Save