Koha/t/db_dependent/Circulation
Kyle M Hall 662da18be2 Bug 34279: Don't enforce overduefinescap unless it is greater than 0
When creating a circ rule, we can set overduefinescap to blank or 0 and no cap is enforced. If we edit that rule, the blank/0 is converted to "0.00" which perl considers true, thus zero-ing out any calculated fine.

Considering we've always ignored an overdue fines cap of 0, we should also ignore 0.00. However, perl is evaluating it as a string which makes it true instead of false as 0 is.

Test Plan:
1) Apply the first patch ( unit tests )
2) prove t/db_dependent/Circulation/CalcFine.t
3) Note the test fails
4) Apply the second patch as well
5) prove t/db_dependent/Circulation/CalcFine.t
6) Note the test passes

Test Plan 2:
1) Create an all/all/all rule with an overduefinescap of 0.00, with a
   daily fine. Enable CalculateFinesOnReturn
2) Backdate a checkout so it is overdue
3) Return this item, note the lack of a fine
4) Apply this patch set
5) Backdate a checkout and return it again
6) Note the fine is generated!

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1763b136d1)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2023-08-07 20:05:46 -10:00
..
_CalculateAndUpdateFine.t
Branch.t
CalcDateDue.t
CalcFine.t Bug 34279: Don't enforce overduefinescap unless it is greater than 0 2023-08-07 20:05:46 -10:00
CheckIfIssuedToPatron.t
CheckValidBarcode.t
dateexpiry.t
GetHardDueDate.t
GetPendingOnSiteCheckouts.t
GetTopIssues.t
IsItemIssued.t
issue.t
MarkIssueReturned.t
maxsuspensiondays.t
NoIssuesChargeGuarantees.t
OfflineCirculation.t
OfflineOperation.t
ReturnClaims.t
Returns.t
StoreLastBorrower.t
SwitchOnSiteCheckouts.t
TooMany.t
transferbook.t
transfers.t