From a04e696df9dffe946cfbe2cc2b9967ef2174c8de Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 4 Jan 2021 11:10:12 -0300 Subject: [PATCH] Bug 27333: Throw the right exceptions If parameters are missing, we need to throw Koha::Exceptions::MissingParameter exceptions. To test: 1. Apply the regression tests patch 2. Run: $ kshell k$ prove t/db_dependent/Koha/Club/Hold.t => FAIL: Tests fail because the method doesn't throw the right exceptions 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Martin Renvoize Signed-off-by: Jonathan Druart (cherry picked from commit c5f3fdcc15bc5d1a013321944c90ce49f5c58e6c) Signed-off-by: Fridolin Somers (cherry picked from commit 8bbc4514b7dc5757758c8a8e235b563d3fadd2b0) Signed-off-by: Andrew Fuerste-Henry (cherry picked from commit 7a611d3ba3eeb7ae972ce9d16eac0e0190fb15b3) Signed-off-by: Victor Grousset/tuxayo --- Koha/Club/Hold.pm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Koha/Club/Hold.pm b/Koha/Club/Hold.pm index d34c69c51f..398049dfac 100644 --- a/Koha/Club/Hold.pm +++ b/Koha/Club/Hold.pm @@ -26,6 +26,7 @@ use Koha::Database; use Koha::Club::Template::Fields; use base qw(Koha::Object); +use Koha::Exceptions; use Koha::Exceptions::ClubHold; use Koha::Club::Hold::PatronHold; use Koha::Clubs; @@ -53,8 +54,14 @@ Class (static) method that returns a new Koha::Club::Hold instance sub add { my ( $params ) = @_; - Koha::Exceptions::ClubHold->throw() - unless $params->{club_id} && $params->{biblio_id}; + # check for mandatory params + my @mandatory = ( 'biblio_id', 'club_id' ); + for my $param (@mandatory) { + unless ( defined( $params->{$param} ) ) { + Koha::Exceptions::MissingParameter->throw( + error => "The $param parameter is mandatory" ); + } + } my $club = Koha::Clubs->find($params->{club_id}); my @enrollments = $club->club_enrollments->as_list; -- 2.39.5