From f810c95d49e66e4187a65b9749429b5cde350540 Mon Sep 17 00:00:00 2001 From: Mark Tompsett Date: Mon, 26 Mar 2018 05:39:58 +0000 Subject: [PATCH] Bug 18725: Tests to trigger canary case Content-Type: text/plain; charset=utf-8 Since replicating the conditions necessary for the canary case proved difficult, tests were written to simulate it. prove t/db_dependent/Letters.t Signed-off-by: Mark Tompsett Signed-off-by: Marcel de Rooy --- t/db_dependent/Letters.t | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/t/db_dependent/Letters.t b/t/db_dependent/Letters.t index 1a61793..8ceddfb 100644 --- a/t/db_dependent/Letters.t +++ b/t/db_dependent/Letters.t @@ -751,3 +751,31 @@ subtest 'Test limit parameter for SendQueuedMessages' => sub { is( $messages_processed, 2, 'Processed 2 message with limit of 3 and 2 unprocessed messages' ); }; + +subtest 'Test canary call for SendQueuedMessages' => sub { + plan tests => 2; + + my $letter = { + 'letter' => { + 'content' => 'a message', + 'metadata' => 'metadata', + 'code' => 'TEST_MESSAGE', + 'content_type' => 'text/plain', + 'title' => 'message title' + }, + 'borrowernumber' => $borrowernumber, + 'to_address' => undef, + 'message_transport_type' => 'email', + 'from_address' => 'from@example.com' + }; + C4::Letters::EnqueueLetter($letter); + + my $mocked_storing = Test::MockModule->new('Koha::Object'); + $mocked_storing->mock('store' => sub { return; }); + $messages_processed = C4::Letters::SendQueuedMessages(); + is( $messages_processed, undef, 'Bad store should prevent sending any.'); + $mocked_storing->unmock('store'); + $messages_processed = C4::Letters::SendQueuedMessages(); + is( $messages_processed, 1, 'Good store should send.'); + +} -- 2.1.4