Bug 17933: Add test and return unless defined dob
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 19 Jan 2017 10:13:36 +0000 (11:13 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 17 Feb 2017 11:22:09 +0000 (11:22 +0000)
Without this patch get_age return actually 0 instead of

Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Koha/Patron.pm
t/db_dependent/Koha/Patrons.t

index 1bc7614..b79b58a 100644 (file)
@@ -545,8 +545,8 @@ Return the age of the patron
 sub get_age {
     my ($self)    = @_;
     my $today_str = dt_from_string->strftime("%Y-%m-%d");
-    my $dob_str   = dt_from_string( $self->dateofbirth ) || return;
-    $dob_str      = $dob_str->strftime("%Y-%m-%d");
+    return unless $self->dateofbirth;
+    my $dob_str   = dt_from_string( $self->dateofbirth )->strftime("%Y-%m-%d");
 
     my ( $dob_y,   $dob_m,   $dob_d )   = split /-/, $dob_str;
     my ( $today_y, $today_m, $today_d ) = split /-/, $today_str;
index 0e6791a..2fbe737 100644 (file)
@@ -492,13 +492,15 @@ subtest 'checkouts + get_overdues' => sub {
 };
 
 subtest 'get_age' => sub {
-    plan tests => 6;
+    plan tests => 7;
 
     my $patron = $builder->build( { source => 'Borrower' } );
     $patron = Koha::Patrons->find( $patron->{borrowernumber} );
 
     my $today = dt_from_string;
 
+    $patron->dateofbirth( undef );
+    is( $patron->get_age, undef, 'get_age should return undef if no dateofbirth is defined' );
     $patron->dateofbirth( $today->clone->add( years => -12, months => -6, days => -1 ) );
     is( $patron->get_age, 12, 'Patron should be 12' );
     $patron->dateofbirth( $today->clone->add( years => -18, months => 0, days => 1 ) );