Bug 23495: Fix if no sms provider defined
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 24 Apr 2020 10:45:04 +0000 (12:45 +0200)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Wed, 29 Apr 2020 15:57:06 +0000 (16:57 +0100)
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Koha/Patron.pm
t/db_dependent/Koha/Patrons.t

index 4864068..5436ccc 100644 (file)
@@ -439,7 +439,9 @@ Returns a Koha::SMS::Provider object representing the patron's SMS provider.
 
 sub sms_provider {
     my ( $self ) = @_;
-    return Koha::SMS::Provider->_new_from_dbic($self->_result->sms_provider);
+    my $sms_provider_rs = $self->_result->sms_provider;
+    return unless $sms_provider_rs;
+    return Koha::SMS::Provider->_new_from_dbic($sms_provider_rs);
 }
 
 =head3 guarantor_relationships
index 3461bee..4f434ad 100644 (file)
@@ -89,8 +89,9 @@ subtest 'library' => sub {
 };
 
 subtest 'sms_provider' => sub {
-    plan tests => 2;
+    plan tests => 3;
     my $sms_provider = $builder->build({source => 'SmsProvider' });
+    is( $retrieved_patron_1->sms_provider, undef, '->sms_provider should return undef if none defined' );
     $retrieved_patron_1->sms_provider_id( $sms_provider->{id} )->store;
     is_deeply( $retrieved_patron_1->sms_provider->unblessed, $sms_provider, 'Koha::Patron->sms_provider returns the correct SMS provider' );
     is( ref($retrieved_patron_1->sms_provider), 'Koha::SMS::Provider', 'Koha::Patron->sms_provider should return a Koha::SMS::Provider object' );