Bug 17494: (QA followup) Fix exception name
authorTomas Cohen Arazi <tomascohen@theke.io>
Fri, 4 Nov 2016 15:18:57 +0000 (12:18 -0300)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 4 Nov 2016 15:45:41 +0000 (15:45 +0000)
This patch changes the exception name to match the package name. And
also adds a test for the thrown exception message.

Also creates a general Koha::Exception::Patron::Modification exception
to make the new one inherit from it, following the common use in the codebase.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Koha/Exceptions/Patron/Modification.pm
Koha/Patron/Modification.pm
t/db_dependent/Koha_borrower_modifications.t

index 1068fbb..4cf5cfa 100644 (file)
@@ -3,10 +3,14 @@ package Koha::Exceptions::Patron::Modification;
 use Modern::Perl;
 
 use Exception::Class (
-    'Koha::Exceptions::Koha::Patron::Modification::DuplicateVerificationToken' => {
-        isa => 'Koha::Exceptions::Object',
-        description => "The verification token given already exists",
+
+    'Koha::Exceptions::Patron::Modification' => {
+        description => 'Something went wrong'
     },
+    'Koha::Exceptions::Patron::Modification::DuplicateVerificationToken' => {
+        isa => 'Koha::Exceptions::Patron::Modification',
+        description => "The verification token given already exists"
+    }
 );
 
 1;
index 63f124f..d1e033b 100644 (file)
@@ -45,7 +45,9 @@ sub store {
 
     if ( $self->verification_token ) {
         if ( Koha::Patron::Modifications->search( { verification_token => $self->verification_token } )->count() ) {
-            Koha::Exceptions::Koha::Patron::Modification::DuplicateVerificationToken->throw;
+            Koha::Exceptions::Patron::Modification::DuplicateVerificationToken->throw(
+                "Duplicate verification token " . $self->verification_token
+            );
         }
     }
 
index 80eb6e2..0a03821 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 
 use Modern::Perl;
-use Test::More tests => 9;
+use Test::More tests => 10;
 use Try::Tiny;
 
 use t::lib::TestBuilder;
@@ -39,8 +39,9 @@ try {
         }
     )->store();
 } catch {
-    ok( $_->isa('Koha::Exceptions::Koha::Patron::Modification::DuplicateVerificationToken'),
+    ok( $_->isa('Koha::Exceptions::Patron::Modification::DuplicateVerificationToken'),
         'Attempting to add a duplicate verification token to the database should raise a Koha::Exceptions::Koha::Patron::Modification::DuplicateVerificationToken exception' );
+    is( $_->message, "Duplicate verification token 1234567890", 'Exception carries the right message' );
 };
 
 ## Get the new pending modification