From 61072634a6c97ad09b9bcc4945de891dd03e615c Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 31 Jan 2022 12:06:46 -0300 Subject: [PATCH] Bug 29857: Unit tests Signed-off-by: Tomas Cohen Arazi --- t/Koha/Exceptions.t | 59 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/t/Koha/Exceptions.t b/t/Koha/Exceptions.t index 56107fccc4..b0dad5e6dc 100755 --- a/t/Koha/Exceptions.t +++ b/t/Koha/Exceptions.t @@ -17,7 +17,7 @@ use Modern::Perl; -use Test::More tests => 9; +use Test::More tests => 10; use Test::MockObject; use Test::Exception; @@ -336,3 +336,60 @@ subtest 'Koha::Exceptions::Plugin tests' => sub { # stringify the exception is( "$@", "Calling 'upgrade' died for plugin $plugin_class", 'Exception stringified correctly' ); }; + +subtest 'Koha::Exception tests' => sub { + + plan tests => 8; + + use Koha::Exception; + + use Exception::Class ( + 'Koha::Exceptions::Weird' => { + isa => 'Koha::Exception', + description => 'Weird exception!', + fields => [ 'a', 'b' ] + } + ); + + my $exception_message = "This is a message"; + + throws_ok + { Koha::Exceptions::Weird->throw( $exception_message ) } + 'Koha::Exception', + 'Exception is thrown :-D'; + + is( "$@", $exception_message, 'Exception not stringified if manually passed' ); + + throws_ok + { Koha::Exceptions::Weird->throw( a => "A", b => "B" ) } + 'Koha::Exception', + 'Exception is thrown :-D'; + + is( + "$@", + "Exception 'Koha::Exceptions::Weird' thrown 'Weird exception!' with a => A, b => B\n", + 'Exception stringified correctly' + ); + + throws_ok + { Koha::Exceptions::Weird->throw( a => "A" ) } + 'Koha::Exception', + 'Exception is thrown :-D'; + + is( + "$@", + "Exception 'Koha::Exceptions::Weird' thrown 'Weird exception!' with a => A\n", + 'Exception stringified correctly, b skipped entirely' + ); + + throws_ok + { Koha::Exceptions::Weird->throw() } + 'Koha::Exception', + 'Exception is thrown :-D'; + + is( + "$@", + "Exception 'Koha::Exceptions::Weird' thrown 'Weird exception!'\n", + 'Exception stringified correctly' + ); +}; -- 2.32.0