From 9068cc1c4227646011974ffe20a6f11115ed2d3e Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Wed, 18 May 2022 17:47:18 -1000 Subject: [PATCH] Bug 30781: Add unit test for substitute with undefined value Add unit test that generates warn. This may be usefull as no regression test. Run prove t/db_dependent/Letters.t You see warn : t/db_dependent/Letters.t .. 1/84 Use of uninitialized value $val in substitution iterator at /kohadevbox/koha/C4/Letters.pm line 607. Signed-off-by: David Nind Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 2e0243c378158755660d7bc95e15ad32dd6d0ebf) Signed-off-by: Lucas Gass (cherry picked from commit 3b3b7f0ad9b46f3c17ebc8f0fda7e05184fa5547) Signed-off-by: Arthur Suzuki --- t/db_dependent/Letters.t | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Letters.t b/t/db_dependent/Letters.t index 9a37118503..27d640415a 100755 --- a/t/db_dependent/Letters.t +++ b/t/db_dependent/Letters.t @@ -18,7 +18,7 @@ # along with Koha; if not, see . use Modern::Perl; -use Test::More tests => 83; +use Test::More tests => 85; use Test::MockModule; use Test::Warn; use Test::Exception; @@ -279,6 +279,20 @@ $prepared_letter = GetPreparedLetter(( $my_content_letter = qq|This is a SMS for an $substitute->{status}|; is( $prepared_letter->{content}, $my_content_letter, 'GetPreparedLetter returns the content correctly' ); +warning_is { + $prepared_letter = GetPreparedLetter(( + module => 'my module', + branchcode => $library->{branchcode}, + letter_code => 'my code', + tables => $tables, + substitute => { status => undef }, + repeat => $repeat, + message_transport_type => 'sms', + )); +} +undef, "No warning if GetPreparedLetter called with substitute containing undefined value"; +is( $prepared_letter->{content}, q|This is a SMS for an |, 'GetPreparedLetter returns the content correctly when substitute contains undefined value' ); + $dbh->do(q{INSERT INTO letter (module, code, name, title, content) VALUES ('test_date','TEST_DATE','Test dates','A title with a timestamp: <>','This one only contains the date: <>.');}); $prepared_letter = GetPreparedLetter(( module => 'test_date', -- 2.39.5