@@ -, +, @@ --- Koha/Patron.pm | 4 ++-- t/db_dependent/Koha/Patrons.t | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) --- a/Koha/Patron.pm +++ a/Koha/Patron.pm @@ -544,8 +544,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; --- a/t/db_dependent/Koha/Patrons.t +++ a/t/db_dependent/Koha/Patrons.t @@ -487,13 +487,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 ) ); --