|
Lines 19-25
Link Here
|
| 19 |
|
19 |
|
| 20 |
use Modern::Perl; |
20 |
use Modern::Perl; |
| 21 |
|
21 |
|
| 22 |
use Test::More tests => 9; |
22 |
use Test::More tests => 10; |
| 23 |
use Test::Exception; |
23 |
use Test::Exception; |
| 24 |
|
24 |
|
| 25 |
use C4::Circulation qw/AddIssue AddReturn/; |
25 |
use C4::Circulation qw/AddIssue AddReturn/; |
|
Lines 518-523
subtest 'checkout() tests' => sub {
Link Here
|
| 518 |
$schema->storage->txn_rollback; |
518 |
$schema->storage->txn_rollback; |
| 519 |
}; |
519 |
}; |
| 520 |
|
520 |
|
|
|
521 |
subtest 'credits() and debits() tests' => sub { |
| 522 |
plan tests => 10; |
| 523 |
|
| 524 |
$schema->storage->txn_begin; |
| 525 |
|
| 526 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
| 527 |
my $account = $patron->account; |
| 528 |
|
| 529 |
my $debit1 = $account->add_debit({ |
| 530 |
amount => 8, |
| 531 |
interface => 'commandline', |
| 532 |
type => 'ACCOUNT', |
| 533 |
}); |
| 534 |
my $debit2 = $account->add_debit({ |
| 535 |
amount => 12, |
| 536 |
interface => 'commandline', |
| 537 |
type => 'ACCOUNT', |
| 538 |
}); |
| 539 |
my $credit1 = $account->add_credit({ |
| 540 |
amount => 5, |
| 541 |
interface => 'commandline', |
| 542 |
type => 'CREDIT', |
| 543 |
}); |
| 544 |
my $credit2 = $account->add_credit({ |
| 545 |
amount => 10, |
| 546 |
interface => 'commandline', |
| 547 |
type => 'CREDIT', |
| 548 |
}); |
| 549 |
|
| 550 |
$credit1->apply({ debits => [ $debit1 ] }); |
| 551 |
$credit2->apply({ debits => [ $debit1, $debit2 ] }); |
| 552 |
|
| 553 |
my $credits = $debit1->credits; |
| 554 |
is($credits->count, 2, '2 Credits applied to debit 1'); |
| 555 |
my $credit = $credits->next; |
| 556 |
is($credit->amount + 0, -5, 'Correct first credit'); |
| 557 |
$credit = $credits->next; |
| 558 |
is($credit->amount + 0, -10, 'Correct second credit'); |
| 559 |
|
| 560 |
$credits = $debit2->credits; |
| 561 |
is($credits->count, 1, '1 Credits applied to debit 2'); |
| 562 |
$credit = $credits->next; |
| 563 |
is($credit->amount + 0, -10, 'Correct first credit'); |
| 564 |
|
| 565 |
my $debits = $credit1->debits; |
| 566 |
is($debits->count, 1, 'Credit 1 applied to 1 debit'); |
| 567 |
my $debit = $debits->next; |
| 568 |
is($debit->amount + 0, 8, 'Correct first debit'); |
| 569 |
|
| 570 |
$debits = $credit2->debits; |
| 571 |
is($debits->count, 2, 'Credit 2 applied to 2 debits'); |
| 572 |
$debit = $debits->next; |
| 573 |
is($debit->amount + 0, 8, 'Correct first debit'); |
| 574 |
$debit = $debits->next; |
| 575 |
is($debit->amount + 0, 12, 'Correct second debit'); |
| 576 |
|
| 577 |
$schema->storage->txn_rollback; |
| 578 |
}; |
| 579 |
|
| 521 |
subtest "void() tests" => sub { |
580 |
subtest "void() tests" => sub { |
| 522 |
|
581 |
|
| 523 |
plan tests => 16; |
582 |
plan tests => 16; |
| 524 |
- |
|
|