Bug 25123: Unit tests
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
parent
4a2cc4e903
commit
49c15f06ac
1 changed files with 31 additions and 1 deletions
|
@ -132,7 +132,7 @@ $schema->storage->txn_rollback;
|
|||
|
||||
subtest 'UpdateFine tests' => sub {
|
||||
|
||||
plan tests => 59;
|
||||
plan tests => 68;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
|
@ -242,6 +242,36 @@ subtest 'UpdateFine tests' => sub {
|
|||
# Total : Outstanding : MaxFine
|
||||
# 100 : 100 : 100
|
||||
|
||||
# A day passes, the item is still overdue, update fine is called again
|
||||
# we don't expect to increase above MaxFine of 100
|
||||
UpdateFine(
|
||||
{
|
||||
issue_id => $checkout2->issue_id,
|
||||
itemnumber => $item2->itemnumber,
|
||||
borrowernumber => $patron->borrowernumber,
|
||||
amount => '40',
|
||||
due => $checkout2->date_due
|
||||
}
|
||||
);
|
||||
|
||||
$fines = Koha::Account::Lines->search(
|
||||
{ borrowernumber => $patron->borrowernumber },
|
||||
{ order_by => { '-asc' => 'accountlines_id' } }
|
||||
);
|
||||
is( $fines->count, 2, "Existing fine updated for second checkout, no new fine added" );
|
||||
$fine = $fines->next;
|
||||
is( $fine->amount+0, 80, "First fine amount unchanged" );
|
||||
is( $fine->amountoutstanding+0, 80, "First fine amountoutstanding unchanged" );
|
||||
my $fine2 = $fines->next;
|
||||
is( $fine2->amount+0, 20, "Second fine capped at '20' by MaxFine" );
|
||||
is( $fine2->amountoutstanding+0, 20, "Second fine amountoutstanding capped at '20' by MaxFine" );
|
||||
is( $fine2->issue_id, $checkout2->issue_id, "Second fine is associated with the correct issue" );
|
||||
is( $fine2->itemnumber, $checkout2->itemnumber, "Second fine is associated with the correct item" );
|
||||
is( $fine->amount + $fine2->amount, '100', "Total fines = 100" );
|
||||
is( $fine->amountoutstanding + $fine2->amountoutstanding, '100', "Total outstanding = 100" );
|
||||
# Total : Outstanding : MaxFine
|
||||
# 100 : 100 : 100
|
||||
|
||||
# Partial pay fine 1
|
||||
$fine->amountoutstanding(50)->store;
|
||||
# Total : Outstanding : MaxFine
|
||||
|
|
Loading…
Reference in a new issue