From ad367a47003f341e1c517c6fbcc96246cbf21609 Mon Sep 17 00:00:00 2001 From: Baptiste Wojtkowski Date: Tue, 11 Jul 2017 09:12:37 +0000 Subject: [PATCH] Bug 18613: Add unit tests for getletter Signed-off-by: Jonathan Druart --- t/db_dependent/Letters.t | 43 ++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/t/db_dependent/Letters.t b/t/db_dependent/Letters.t index 7950750c30..cbb2bec481 100644 --- 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 => 82; +use Test::More tests => 75; use Test::MockModule; use Test::Warn; @@ -182,15 +182,38 @@ is( $letters->[0]->{name}, 'my name', 'GetLetters gets the name correctly' ); # getletter -my $letter = C4::Letters::getletter('my module', 'my code', $library->{branchcode}, 'email'); -is( $letter->{branchcode}, $library->{branchcode}, 'GetLetters gets the branch code correctly' ); -is( $letter->{module}, 'my module', 'GetLetters gets the module correctly' ); -is( $letter->{code}, 'my code', 'GetLetters gets the code correctly' ); -is( $letter->{name}, 'my name', 'GetLetters gets the name correctly' ); -is( $letter->{is_html}, 1, 'GetLetters gets the boolean is_html correctly' ); -is( $letter->{title}, $title, 'GetLetters gets the title correctly' ); -is( $letter->{content}, $content, 'GetLetters gets the content correctly' ); -is( $letter->{message_transport_type}, 'email', 'GetLetters gets the message type correctly' ); +subtest 'getletter' => sub { + plan tests => 16; + my $letter = C4::Letters::getletter('my module', 'my code', $library->{branchcode}, 'email'); + is( $letter->{branchcode}, $library->{branchcode}, 'GetLetters gets the branch code correctly' ); + is( $letter->{module}, 'my module', 'GetLetters gets the module correctly' ); + is( $letter->{code}, 'my code', 'GetLetters gets the code correctly' ); + is( $letter->{name}, 'my name', 'GetLetters gets the name correctly' ); + is( $letter->{is_html}, 1, 'GetLetters gets the boolean is_html correctly' ); + is( $letter->{title}, $title, 'GetLetters gets the title correctly' ); + is( $letter->{content}, $content, 'GetLetters gets the content correctly' ); + is( $letter->{message_transport_type}, 'email', 'GetLetters gets the message type correctly' ); + + my $context = Test::MockModule->new('C4::Context'); + $context->mock( 'userenv', sub { + return { branch => "anotherlib" } + }); + + t::lib::Mocks::mock_preference('IndependentBranches', 1); + $letter = C4::Letters::getletter('my module', 'my code', $library->{branchcode}, 'email'); + is( $letter->{branchcode}, $library->{branchcode}, 'GetLetters gets the branch code correctly' ); + is( $letter->{module}, 'my module', 'GetLetters gets the module correctly' ); + is( $letter->{code}, 'my code', 'GetLetters gets the code correctly' ); + is( $letter->{name}, 'my name', 'GetLetters gets the name correctly' ); + is( $letter->{is_html}, 1, 'GetLetters gets the boolean is_html correctly' ); + is( $letter->{title}, $title, 'GetLetters gets the title correctly' ); + is( $letter->{content}, $content, 'GetLetters gets the content correctly' ); + is( $letter->{message_transport_type}, 'email', 'GetLetters gets the message type correctly' ); + + $context->unmock('userenv'); +}; + + # Regression test for Bug 14206 $dbh->do( q|INSERT INTO letter(branchcode,module,code,name,is_html,title,content,message_transport_type) VALUES ('FFL','my module','my code','my name',1,?,?,'print')|, undef, $title, $content ); -- 2.39.5