@@ -, +, @@ --- t/db_dependent/Circulation.t | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) --- a/t/db_dependent/Circulation.t +++ a/t/db_dependent/Circulation.t @@ -23,13 +23,13 @@ use C4::Branch; use C4::Items; use C4::Members; use C4::Reserves; -use C4::Overdues qw(UpdateFine); +use C4::Overdues qw(UpdateFine CalcFine); use Koha::DateUtils; use Koha::Database; use t::lib::TestBuilder; -use Test::More tests => 82; +use Test::More tests => 83; BEGIN { use_ok('C4::Circulation'); @@ -441,9 +441,19 @@ C4::Context->dbh->do("DELETE FROM accountlines"); my $datedue6 = AddIssue( $renewing_borrower, $barcode6); is (defined $datedue6, 1, "Item 2 checked out, due date: $datedue6"); - my $passeddatedue1 = AddIssue($renewing_borrower, $barcode7, DateTime->from_epoch(epoch => 1)); - is (defined $passeddatedue1, 1, "Item with passed date due checked out, due date: $passeddatedue1"); + my $now = dt_from_string(); + my $five_weeks = DateTime::Duration->new(weeks => 5); + my $five_weeks_ago = $now - $five_weeks; + + my $passeddatedue1 = AddIssue($renewing_borrower, $barcode7, $five_weeks_ago); + is (defined $passeddatedue1, 1, "Item with passed date due checked out, due date: " . $passeddatedue1->date_due); + my ( $fine ) = CalcFine( GetItem(undef, $barcode7), $renewing_borrower->{categorycode}, $branch, $five_weeks_ago, $now ); + C4::Overdues::UpdateFine( $itemnumber7, $renewing_borrower->{borrowernumber}, $fine, 'FU', Koha::DateUtils::output_pref($five_weeks_ago) ); + AddRenewal( $renewing_borrower->{borrowernumber}, $itemnumber7, $branch ); + $fine = $schema->resultset('Accountline')->single( { borrowernumber => $renewing_borrower->{borrowernumber}, itemnumber => $itemnumber7 } ); + is( $fine->accounttype, 'F', 'Fine on renewed item is closed out properly' ); + $fine->delete(); C4::Context->set_preference('OverduesBlockRenewing','blockitem'); ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber6); @@ -562,7 +572,6 @@ C4::Context->dbh->do("DELETE FROM accountlines"); ok( $total_due == 15, 'Borrower only charged fine with both WhenLostForgiveFine and WhenLostChargeReplacementFee disabled' ); - my $now = dt_from_string(); my $future = dt_from_string(); $future->add( days => 7 ); my $units = C4::Overdues::get_chargeable_units('days', $future, $now, $library2->{branchcode}); --