From bdeefe300e70bd3c5a26f46fbdb698bd5d8913c5 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 13 Dec 2021 17:27:42 +0000 Subject: [PATCH] Bug 29476: (follow-up) Fix return, add precision test Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart --- C4/Circulation.pm | 2 +- t/db_dependent/Circulation.t | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 28742e2f4ed..3850b276eb6 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -3199,7 +3199,7 @@ sub GetSoonestRenewDate { 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' ) { diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t index 2981430bdc4..3b0b09b83f5 100755 --- a/t/db_dependent/Circulation.t +++ b/t/db_dependent/Circulation.t @@ -4957,7 +4957,7 @@ subtest "SendCirculationAlert" => sub { }; subtest "GetSoonestRenewDate tests" => sub { - plan tests => 4; + plan tests => 5; Koha::CirculationRules->set_rule( { categorycode => undef, @@ -5007,7 +5007,14 @@ subtest "GetSoonestRenewDate tests" => sub { '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, -- 2.25.1