5 use Test::More tests => 2;
10 use Koha::DateUtils qw( dt_from_string );
12 use t::lib::TestBuilder;
15 our $dbh = C4::Context->dbh;
16 $dbh->{AutoCommit} = 0;
17 $dbh->{RaiseError} = 1;
19 $dbh->do(q|DELETE FROM issues|);
21 my $builder = t::lib::TestBuilder->new();
23 my $branch = $builder->build(
29 my $category = $builder->build(
35 my $patron = $builder->build(
39 categorycode => $category->{categorycode},
40 branchcode => $branch->{branchcode},
45 my $biblio = $builder->build(
49 branchcode => $branch->{branchcode},
54 my $item = $builder->build(
58 biblionumber => $biblio->{biblionumber},
59 homebranch => $branch->{branchcode},
60 holdingbranch => $branch->{branchcode},
61 replacementprice => '5.00',
66 subtest 'Test basic functionality' => sub {
68 my $issuingrule = $builder->build(
70 source => 'Issuingrule',
80 overduefinescap => undef,
81 cap_fine_to_replacement_price => 0,
86 my $start_dt = DateTime->new(
92 my $end_dt = DateTime->new(
98 my ($amount) = CalcFine( $item, $patron->{categorycode}, $branch->{branchcode}, $start_dt, $end_dt );
100 is( $amount, 29, 'Amount is calculated correctly' );
105 subtest 'Test cap_fine_to_replacement_price' => sub {
107 my $issuingrule = $builder->build(
109 source => 'Issuingrule',
115 lengthunit => 'days',
119 overduefinescap => undef,
120 cap_fine_to_replacement_price => 1,
125 my $start_dt = DateTime->new(
131 my $end_dt = DateTime->new(
137 my ($amount) = CalcFine( $item, $patron->{categorycode}, $branch->{branchcode}, $start_dt, $end_dt );
139 is( $amount, '5.00', 'Amount is calculated correctly' );
145 $dbh->do(q|DELETE FROM issuingrules|);