View | Details | Raw Unified | Return to bug 21896
Collapse All | Expand All

(-)a/t/db_dependent/Koha/Account.t (-2 / +39 lines)
Lines 194-200 subtest 'add_credit() tests' => sub { Link Here
194
194
195
subtest 'reconcile_balance' => sub {
195
subtest 'reconcile_balance' => sub {
196
196
197
    plan tests => 3;
197
    plan tests => 4;
198
198
199
    subtest 'more credit than debit' => sub {
199
    subtest 'more credit than debit' => sub {
200
200
Lines 311-314 subtest 'reconcile_balance' => sub { Link Here
311
311
312
        $schema->storage->txn_rollback;
312
        $schema->storage->txn_rollback;
313
    };
313
    };
314
315
    subtest 'credits are applied to older debits first' => sub {
316
317
        plan tests => 9;
318
319
        $schema->storage->txn_begin;
320
321
        my $patron  = $builder->build_object({ class => 'Koha::Patrons' });
322
        my $account = $patron->account;
323
324
        # Add Credits
325
        $account->add_credit({ amount => 1 });
326
        $account->add_credit({ amount => 3 });
327
328
        # Add Debits TODO: replace for calls to add_debit when time comes
329
        my $debit_1 = Koha::Account::Line->new({ borrowernumber => $patron->id, amount => 1, amountoutstanding => 1 })->store;
330
        my $debit_2 = Koha::Account::Line->new({ borrowernumber => $patron->id, amount => 2, amountoutstanding => 2 })->store;
331
        my $debit_3 = Koha::Account::Line->new({ borrowernumber => $patron->id, amount => 3, amountoutstanding => 3 })->store;
332
333
        is( $account->balance(), 2, "Account balance is 2" );
334
        is( $account->outstanding_debits->total_outstanding, 6, 'Outstanding debits sum 6' );
335
        is( $account->outstanding_credits->total_outstanding, -4, 'Outstanding credits sum -4' );
336
337
        $account->reconcile_balance();
338
339
        is( $account->balance(), 2, "Account balance is 2" );
340
        is( $account->outstanding_debits->total_outstanding, 2, 'Outstanding debits sum 2' );
341
        is( $account->outstanding_credits->total_outstanding, 0, 'Outstanding credits sum 0' );
342
343
        $debit_1->discard_changes;
344
        is( $debit_1->amountoutstanding + 0, 0, 'Old debit payed' );
345
        $debit_2->discard_changes;
346
        is( $debit_2->amountoutstanding + 0, 0, 'Old debit payed' );
347
        $debit_3->discard_changes;
348
        is( $debit_3->amountoutstanding + 0, 2, 'Newest debit only partially payed' );
349
350
        $schema->storage->txn_rollback;
351
    };
314
};
352
};
315
- 

Return to bug 21896