Lines 24-36
use C4::Branch;
Link Here
|
24 |
use C4::Items; |
24 |
use C4::Items; |
25 |
use C4::Members; |
25 |
use C4::Members; |
26 |
use C4::Reserves; |
26 |
use C4::Reserves; |
27 |
use C4::Overdues qw(UpdateFine); |
27 |
use C4::Overdues qw(UpdateFine CalcFine); |
28 |
use Koha::DateUtils; |
28 |
use Koha::DateUtils; |
29 |
use Koha::Database; |
29 |
use Koha::Database; |
30 |
|
30 |
|
31 |
use t::lib::TestBuilder; |
31 |
use t::lib::TestBuilder; |
32 |
|
32 |
|
33 |
use Test::More tests => 84; |
33 |
use Test::More tests => 85; |
34 |
|
34 |
|
35 |
BEGIN { |
35 |
BEGIN { |
36 |
use_ok('C4::Circulation'); |
36 |
use_ok('C4::Circulation'); |
Lines 442-450
C4::Context->dbh->do("DELETE FROM accountlines");
Link Here
|
442 |
my $datedue6 = AddIssue( $renewing_borrower, $barcode6); |
442 |
my $datedue6 = AddIssue( $renewing_borrower, $barcode6); |
443 |
is (defined $datedue6, 1, "Item 2 checked out, due date: $datedue6"); |
443 |
is (defined $datedue6, 1, "Item 2 checked out, due date: $datedue6"); |
444 |
|
444 |
|
445 |
my $passeddatedue1 = AddIssue($renewing_borrower, $barcode7, DateTime->from_epoch(epoch => 1)); |
445 |
my $now = dt_from_string(); |
446 |
is (defined $passeddatedue1, 1, "Item with passed date due checked out, due date: $passeddatedue1"); |
446 |
my $five_weeks = DateTime::Duration->new(weeks => 5); |
|
|
447 |
my $five_weeks_ago = $now - $five_weeks; |
448 |
|
449 |
my $passeddatedue1 = AddIssue($renewing_borrower, $barcode7, $five_weeks_ago); |
450 |
is (defined $passeddatedue1, 1, "Item with passed date due checked out, due date: " . $passeddatedue1->date_due); |
447 |
|
451 |
|
|
|
452 |
my ( $fine ) = CalcFine( GetItem(undef, $barcode7), $renewing_borrower->{categorycode}, $branch, $five_weeks_ago, $now ); |
453 |
C4::Overdues::UpdateFine( |
454 |
{ |
455 |
issue_id => $passeddatedue1->id(), |
456 |
itemnumber => $itemnumber7, |
457 |
borrowernumber => $renewing_borrower->{borrowernumber}, |
458 |
amount => $fine, |
459 |
type => 'FU', |
460 |
due => Koha::DateUtils::output_pref($five_weeks_ago) |
461 |
} |
462 |
); |
463 |
AddRenewal( $renewing_borrower->{borrowernumber}, $itemnumber7, $branch ); |
464 |
$fine = $schema->resultset('Accountline')->single( { borrowernumber => $renewing_borrower->{borrowernumber}, itemnumber => $itemnumber7 } ); |
465 |
is( $fine->accounttype, 'F', 'Fine on renewed item is closed out properly' ); |
466 |
$fine->delete(); |
448 |
|
467 |
|
449 |
t::lib::Mocks::mock_preference('OverduesBlockRenewing','blockitem'); |
468 |
t::lib::Mocks::mock_preference('OverduesBlockRenewing','blockitem'); |
450 |
( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber6); |
469 |
( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber6); |
Lines 596-602
C4::Context->dbh->do("DELETE FROM accountlines");
Link Here
|
596 |
|
615 |
|
597 |
ok( $total_due == 15, 'Borrower only charged fine with both WhenLostForgiveFine and WhenLostChargeReplacementFee disabled' ); |
616 |
ok( $total_due == 15, 'Borrower only charged fine with both WhenLostForgiveFine and WhenLostChargeReplacementFee disabled' ); |
598 |
|
617 |
|
599 |
my $now = dt_from_string(); |
|
|
600 |
my $future = dt_from_string(); |
618 |
my $future = dt_from_string(); |
601 |
$future->add( days => 7 ); |
619 |
$future->add( days => 7 ); |
602 |
my $units = C4::Overdues::get_chargeable_units('days', $future, $now, $library2->{branchcode}); |
620 |
my $units = C4::Overdues::get_chargeable_units('days', $future, $now, $library2->{branchcode}); |
603 |
- |
|
|