return $soonestrenewal if $now < $soonestrenewal;
} elsif ( $itemissue->auto_renew && $patron->autorenew_checkouts ) {
# Checkouts with auto-renewing fall back to due date
- my $soonestrenewal = return dt_from_string( $itemissue->date_due );
+ my $soonestrenewal = dt_from_string( $itemissue->date_due );
if ( C4::Context->preference('NoRenewalBeforePrecision') eq 'date'
and $issuing_rule->{lengthunit} eq 'days' )
{
};
subtest "GetSoonestRenewDate tests" => sub {
- plan tests => 4;
+ plan tests => 5;
Koha::CirculationRules->set_rule(
{
categorycode => undef,
'Checkouts without auto-renewal can be renewed immediately if no norenewalbefore'
);
+ t::lib::Mocks::mock_preference( 'NoRenewalBeforePrecision', 'date' );
$issue->auto_renew(1)->store;
is(
GetSoonestRenewDate( $patron->id, $item->itemnumber ),
+ $datedue->clone->truncate( to => 'day' ),
+ 'Checkouts with auto-renewal can be renewed earliest on due date if no renewalbefore'
+ );
+ t::lib::Mocks::mock_preference( 'NoRenewalBeforePrecision', 'exact' );
+ is(
+ GetSoonestRenewDate( $patron->id, $item->itemnumber ),
$datedue,
'Checkouts with auto-renewal can be renewed earliest on due date if no renewalbefore'
);