Bug 21443: Unit tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marti Fuerst <mfuerst@hmcpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Kyle Hall 2020-03-09 13:36:22 -04:00 committed by Martin Renvoize
parent c5b6b9aa65
commit 55e42a172e
Signed by: martin.renvoize
GPG key ID: 422B469130441A0F

View file

@ -61,12 +61,14 @@ my $itemtype = $builder->build_object(
{ {
class => 'Koha::ItemTypes', class => 'Koha::ItemTypes',
value => { value => {
rentalcharge_daily => '0.00', rentalcharge_daily => '0.00',
rentalcharge_hourly => '0.00', rentalcharge_daily_calendar => 1,
rentalcharge => '0.00', rentalcharge_hourly => '0.00',
processfee => '0.00', rentalcharge_hourly_calendar => 1,
defaultreplacecost => '0.00', rentalcharge => '0.00',
}, processfee => '0.00',
defaultreplacecost => '0.00',
},
} }
); );
my $item = $builder->build_object( my $item = $builder->build_object(
@ -307,7 +309,7 @@ subtest 'from_date accessor' => sub {
}; };
subtest 'accumulate_rentalcharge tests' => sub { subtest 'accumulate_rentalcharge tests' => sub {
plan tests => 7; plan tests => 9;
my $fees = Koha::Charges::Fees->new( my $fees = Koha::Charges::Fees->new(
{ {
@ -347,6 +349,13 @@ subtest 'accumulate_rentalcharge tests' => sub {
'Daily rental charge calculated correctly with finesCalendar = noFinesWhenClosed' 'Daily rental charge calculated correctly with finesCalendar = noFinesWhenClosed'
); );
$itemtype->rentalcharge_daily_calendar(0)->store();
$charge = $fees->accumulate_rentalcharge();
is( $charge, 6.00,
'Daily rental charge calculated correctly with finesCalendar = noFinesWhenClosed and rentalcharge_daily_calendar = 0'
);
$itemtype->rentalcharge_daily_calendar(1)->store();
my $calendar = C4::Calendar->new( branchcode => $library->id ); my $calendar = C4::Calendar->new( branchcode => $library->id );
# DateTime 1..7 (Mon..Sun), C4::Calender 0..6 (Sun..Sat) # DateTime 1..7 (Mon..Sun), C4::Calender 0..6 (Sun..Sat)
my $closed_day = my $closed_day =
@ -409,6 +418,13 @@ subtest 'accumulate_rentalcharge tests' => sub {
"Hourly rental charge calculated correctly with finesCalendar = noFinesWhenClosed and closed $dayname (96h - 24h * 0.25u)" "Hourly rental charge calculated correctly with finesCalendar = noFinesWhenClosed and closed $dayname (96h - 24h * 0.25u)"
); );
$itemtype->rentalcharge_hourly_calendar(0)->store();
$charge = $fees->accumulate_rentalcharge();
is( $charge, 24.00,
"Hourly rental charge calculated correctly with finesCalendar = noFinesWhenClosed and closed $dayname (96h - 24h * 0.25u) and rentalcharge_hourly_calendar = 0"
);
$itemtype->rentalcharge_hourly_calendar(1)->store();
$calendar->delete_holiday( weekday => $closed_day ); $calendar->delete_holiday( weekday => $closed_day );
$charge = $fees->accumulate_rentalcharge(); $charge = $fees->accumulate_rentalcharge();
is( $charge, 24.00, 'Hourly rental charge calculated correctly with finesCalendar = noFinesWhenClosed (96h - 0h * 0.25u)' ); is( $charge, 24.00, 'Hourly rental charge calculated correctly with finesCalendar = noFinesWhenClosed (96h - 0h * 0.25u)' );