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

(-)a/t/db_dependent/Koha/Account/Lines.t (-2 / +30 lines)
Lines 272-278 subtest 'apply() tests' => sub { Link Here
272
272
273
subtest 'adjust() tests' => sub {
273
subtest 'adjust() tests' => sub {
274
274
275
    plan tests => 19;
275
    plan tests => 33;
276
276
277
    $schema->storage->txn_begin;
277
    $schema->storage->txn_begin;
278
278
Lines 352-357 subtest 'adjust() tests' => sub { Link Here
352
352
353
    is( $schema->resultset('ActionLog')->count(), $action_logs + 1, 'Log was added' );
353
    is( $schema->resultset('ActionLog')->count(), $action_logs + 1, 'Log was added' );
354
354
355
    # Decrement the partially paid fine, less than what was paid
356
    $debit_2->adjust( { amount => 50, type => 'fine_increment' } )->discard_changes;
357
358
    is( $debit_2->amount * 1, 50, 'Fine amount was updated in full' );
359
    is( $debit_2->amountoutstanding * 1, 10, 'Fine amountoutstanding was updated by difference' );
360
    is( $debit_2->lastincrement * 1, -110, 'lastincrement is the to the right value' );
361
362
    $offsets = Koha::Account::Offsets->search( { debit_id => $debit_2->id } );
363
    is( $offsets->count, 4, 'An offset is generated for the decrement' );
364
    $THIS_offset = $offsets->last;
365
    is( $THIS_offset->amount * 1, -110, 'Amount was calculated correctly (decrement by 110)' );
366
    is( $THIS_offset->type, 'Fine Update', 'Adjust type stored correctly' );
367
368
    # Decrement the partially paid fine, more than what was paid
369
    $debit_2->adjust( { amount => 30, type => 'fine_increment' } )->discard_changes;
370
    is( $debit_2->amount * 1, 30, 'Fine amount was updated in full' );
371
    is( $debit_2->amountoutstanding * 1, 0, 'Fine amountoutstanding was zeroed (payment was 40)' );
372
    is( $debit_2->lastincrement * 1, -20, 'lastincrement is the to the right value' );
373
374
    $offsets = Koha::Account::Offsets->search( { debit_id => $debit_2->id } );
375
    is( $offsets->count, 5, 'An offset is generated for the decrement' );
376
    $THIS_offset = $offsets->last;
377
    is( $THIS_offset->amount * 1, -20, 'Amount was calculated correctly (decrement by 20)' );
378
    is( $THIS_offset->type, 'Fine Update', 'Adjust type stored correctly' );
379
380
    my $overpayment_refund = $account->lines->last;
381
    is( $overpayment_refund->amount * 1, -10, 'A new credit has been added' );
382
    is( $overpayment_refund->description, 'Overpayment refund', 'Credit generated with the expected description' );
383
355
    $schema->storage->txn_rollback;
384
    $schema->storage->txn_rollback;
356
};
385
};
357
386
358
- 

Return to bug 21727