Bug 21443: Unit tests
authorKyle M Hall <kyle@bywatersolutions.com>
Mon, 9 Mar 2020 17:36:22 +0000 (13:36 -0400)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 24 Mar 2020 11:09:07 +0000 (11:09 +0000)
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>

t/db_dependent/Koha/Charges/Fees.t

index f5a5371..a28cc48 100644 (file)
@@ -61,12 +61,14 @@ my $itemtype = $builder->build_object(
     {
         class => 'Koha::ItemTypes',
         value => {
-            rentalcharge_daily  => '0.00',
-            rentalcharge_hourly => '0.00',
-            rentalcharge        => '0.00',
-            processfee          => '0.00',
-            defaultreplacecost  => '0.00',
-        },
+            rentalcharge_daily           => '0.00',
+            rentalcharge_daily_calendar  => 1,
+            rentalcharge_hourly          => '0.00',
+            rentalcharge_hourly_calendar => 1,
+            rentalcharge                 => '0.00',
+            processfee                   => '0.00',
+            defaultreplacecost           => '0.00',
+          },
     }
 );
 my $item = $builder->build_object(
@@ -307,7 +309,7 @@ subtest 'from_date accessor' => sub {
 };
 
 subtest 'accumulate_rentalcharge tests' => sub {
-    plan tests => 7;
+    plan tests => 9;
 
     my $fees = Koha::Charges::Fees->new(
         {
@@ -347,6 +349,13 @@ subtest 'accumulate_rentalcharge tests' => sub {
 '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 );
     # DateTime 1..7 (Mon..Sun), C4::Calender 0..6 (Sun..Sat)
     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)"
     );
 
+    $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 );
     $charge = $fees->accumulate_rentalcharge();
     is( $charge, 24.00, 'Hourly rental charge calculated correctly with finesCalendar = noFinesWhenClosed (96h - 0h * 0.25u)' );