Bug 21849: Add unit tests
authorKyle M Hall <kyle@bywatersolutions.com>
Fri, 16 Nov 2018 14:54:39 +0000 (09:54 -0500)
committerFridolin Somers <fridolin.somers@biblibre.com>
Wed, 2 Jan 2019 09:22:36 +0000 (10:22 +0100)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 2dbaaa300877ff6d96ae84b5a703753d97b6c340)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit aa565b8e9919ee414d0693f391b141985ebacb93)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0a6c0c32604ebbd89ccff8d2dc0ff4a11bd204dd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

t/db_dependent/Circulation.t

index 263cacf..c1a3ddf 100755 (executable)
@@ -1865,7 +1865,7 @@ subtest '_FixAccountForLostAndReturned' => sub {
 };
 
 subtest '_FixOverduesOnReturn' => sub {
-    plan tests => 6;
+    plan tests => 10;
 
     # Generate test biblio
     my $title  = 'Koha for Dummies';
@@ -1918,9 +1918,12 @@ subtest '_FixOverduesOnReturn' => sub {
     C4::Circulation::_FixOverduesOnReturn( $patron->{borrowernumber}, $itemnumber, 1 );
 
     $accountline->_result()->discard_changes();
+    my $offset = Koha::Account::Offsets->search({ debit_id => $accountline->id, type => 'Forgiven' })->next();
 
     is( $accountline->amountoutstanding, '0.000000', 'Fine has been reduced to 0' );
     is( $accountline->accounttype, 'FFOR', 'Open fine ( account type FU ) has been set to fine forgiven ( account type FFOR )');
+    is( ref $offset, "Koha::Account::Offset", "Found matching offset for fine reduction via forgiveness" );
+    is( $offset->amount, '-99.000000', "Amount of offset is correct" );
 
     ## Run again, with dropbox mode enabled
     $accountline->set(
@@ -1933,9 +1936,12 @@ subtest '_FixOverduesOnReturn' => sub {
     C4::Circulation::_FixOverduesOnReturn( $patron->{borrowernumber}, $itemnumber, 0, 1 );
 
     $accountline->_result()->discard_changes();
+    $offset = Koha::Account::Offsets->search({ debit_id => $accountline->id, type => 'Dropbox' })->next();
 
     is( $accountline->amountoutstanding, '90.000000', 'Fine has been reduced to 90' );
     is( $accountline->accounttype, 'F', 'Open fine ( account type FU ) has been closed out ( account type F )');
+    is( ref $offset, "Koha::Account::Offset", "Found matching offset for fine reduction via dropbox" );
+    is( $offset->amount, '-9.000000', "Amount of offset is correct" );
 };
 
 subtest 'Set waiting flag' => sub {