Bug 17933: Add test and return unless defined dob

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>
This commit is contained in:
Jonathan Druart 2017-01-19 11:13:36 +01:00 committed by Kyle M Hall
parent 083a8f7b72
commit 6ee62d4917
2 changed files with 5 additions and 3 deletions

View 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;

View 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 ) );