Lines 19-25
Link Here
|
19 |
|
19 |
|
20 |
use Modern::Perl; |
20 |
use Modern::Perl; |
21 |
|
21 |
|
22 |
use Test::More tests => 22; |
22 |
use Test::More tests => 23; |
23 |
use Test::Warn; |
23 |
use Test::Warn; |
24 |
use Time::Fake; |
24 |
use Time::Fake; |
25 |
use DateTime; |
25 |
use DateTime; |
Lines 531-536
subtest 'get_age' => sub {
Link Here
|
531 |
$patron->delete; |
531 |
$patron->delete; |
532 |
}; |
532 |
}; |
533 |
|
533 |
|
|
|
534 |
subtest 'is_category_valid' => sub { |
535 |
plan tests => 10; |
536 |
|
537 |
my $today = dt_from_string; |
538 |
|
539 |
my $category = $builder->build({ |
540 |
source => 'Category', |
541 |
value => { |
542 |
categorycode => 'AGE_5_10', |
543 |
dateofbirthrequired => 5, |
544 |
upperagelimit => 10 |
545 |
} |
546 |
}); |
547 |
$category = Koha::Patron::Categories->find( $category->{categorycode} ); |
548 |
|
549 |
my $patron = $builder->build({ |
550 |
source => 'Borrower', |
551 |
value => { |
552 |
categorycode => 'AGE_5_10' |
553 |
} |
554 |
}); |
555 |
$patron = Koha::Patrons->find( $patron->{borrowernumber} ); |
556 |
|
557 |
|
558 |
$patron->dateofbirth( undef ); |
559 |
is( $patron->is_category_valid, 1, 'Patron with no dateofbirth is always valid for any category'); |
560 |
|
561 |
$patron->dateofbirth( $today->clone->add( years => -12, months => -6, days => -1 ) ); |
562 |
is( $patron->is_category_valid, 0, 'Patron is 12, so his age is above allowed range 5-10 years'); |
563 |
|
564 |
$patron->dateofbirth( $today->clone->add( years => -3, months => -6, days => -1 ) ); |
565 |
is( $patron->is_category_valid, 0, 'Patron is 3, so his age is below allowed range 5-10 years'); |
566 |
|
567 |
$patron->dateofbirth( $today->clone->add( years => -7, months => -6, days => -1 ) ); |
568 |
is( $patron->is_category_valid, 1, 'Patron is 7, so his age perfectly suits allowed range 5-10 years'); |
569 |
|
570 |
$patron->dateofbirth( $today->clone->add( years => -5, months => 0, days => 0 ) ); |
571 |
is( $patron->is_category_valid, 1, 'Patron celebrates the 5th birthday today, so he is allowed for this category'); |
572 |
|
573 |
$patron->dateofbirth( $today->clone->add( years => -5, months => 0, days => 1 ) ); |
574 |
is( $patron->is_category_valid, 0, 'Patron will celebrate the 5th birthday tomorrow, so he is NOT allowed for this category'); |
575 |
|
576 |
$patron->dateofbirth( $today->clone->add( years => -5, months => 0, days => -1 ) ); |
577 |
is( $patron->is_category_valid, 1, 'Patron celebrated the 5th birthday yesterday, so he is allowed for this category'); |
578 |
|
579 |
$patron->dateofbirth( $today->clone->add( years => -11, months => 0, days => 0 ) ); |
580 |
is( $patron->is_category_valid, 0, 'Patron celebrate the 11th birthday today, so he is NOT allowed for this category'); |
581 |
|
582 |
$patron->dateofbirth( $today->clone->add( years => -11, months => 0, days => 1 ) ); |
583 |
is( $patron->is_category_valid, 1, 'Patron will celebrate the 11th birthday tomorrow, so he is allowed for this category'); |
584 |
|
585 |
$patron->dateofbirth( $today->clone->add( years => -11, months => 0, days => -1 ) ); |
586 |
is( $patron->is_category_valid, 0, 'Patron celebrated the 11th birthday yesterday, so he is NOT allowed for this category'); |
587 |
|
588 |
$patron->delete; |
589 |
$category->delete; |
590 |
}; |
591 |
|
534 |
subtest 'account' => sub { |
592 |
subtest 'account' => sub { |
535 |
plan tests => 1; |
593 |
plan tests => 1; |
536 |
|
594 |
|
537 |
- |
|
|