use Modern::Perl;
-use Test::More tests => 2;
+use Test::More tests => 3;
use C4::Context;
use C4::Overdues;
teardown();
};
+subtest 'Test cap_fine_to_replacement_pricew with overduefinescap' => sub {
+ plan tests => 2;
+
+ t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
+ my $issuingrule = $builder->build_object(
+ {
+ class => 'Koha::IssuingRules',
+ value => {
+ branchcode => '*',
+ categorycode => '*',
+ itemtype => '*',
+ fine => '1.00',
+ lengthunit => 'days',
+ finedays => 0,
+ firstremind => 0,
+ chargeperiod => 1,
+ overduefinescap => 3,
+ cap_fine_to_replacement_price => 1,
+ },
+ }
+ );
+
+ my $start_dt = DateTime->new(
+ year => 2000,
+ month => 1,
+ day => 1,
+ );
+
+ my $end_dt = DateTime->new(
+ year => 2000,
+ month => 1,
+ day => 30,
+ );
+
+ my ($amount) = CalcFine( $item, $patron->{categorycode}, $branch->{branchcode}, $start_dt, $end_dt );
+ is( int($amount), 3, 'Got the lesser of overduefinescap and replacement price where overduefinescap < replacement price' );
+
+ $issuingrule->overduefinescap(6)->store();
+ ($amount) = CalcFine( $item, $patron->{categorycode}, $branch->{branchcode}, $start_dt, $end_dt );
+ is( int($amount), 5, 'Get the lesser of overduefinescap and replacement price where overduefinescap > replacement price' );
+
+ teardown();
+};
+
sub teardown {
$dbh->do(q|DELETE FROM issuingrules|);
}