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

(-)a/t/db_dependent/Koha/Account/Line.t (-16 / +27 lines)
Lines 25-31 use Test::MockModule; Link Here
25
25
26
use DateTime;
26
use DateTime;
27
27
28
use C4::Circulation qw( AddRenewal CanBookBeRenewed LostItem AddIssue AddReturn );
28
use C4::Circulation qw( AddRenewal CanBookBeRenewed LostItem AddIssue AddReturn MarkIssueReturned );
29
use Koha::Account;
29
use Koha::Account;
30
use Koha::Account::Lines;
30
use Koha::Account::Lines;
31
use Koha::Account::Offsets;
31
use Koha::Account::Offsets;
Lines 448-456 subtest 'apply() tests' => sub { Link Here
448
    $schema->storage->txn_rollback;
448
    $schema->storage->txn_rollback;
449
};
449
};
450
450
451
subtest 'Keep account info when related patron, staff, item or cash_register is deleted' => sub {
451
subtest 'Keep account info when related patron, staff, item, issue or cash_register is deleted' => sub {
452
452
453
    plan tests => 4;
453
    plan tests => 7;
454
454
455
    $schema->storage->txn_begin;
455
    $schema->storage->txn_begin;
456
456
Lines 460-483 subtest 'Keep account info when related patron, staff, item or cash_register is Link Here
460
    my $issue = $builder->build_object(
460
    my $issue = $builder->build_object(
461
        {
461
        {
462
            class => 'Koha::Checkouts',
462
            class => 'Koha::Checkouts',
463
            value => { itemnumber => $item->itemnumber }
463
            value => { itemnumber => $item->itemnumber, borrowernumber => $patron->borrowernumber }
464
        }
464
        }
465
    );
465
    );
466
    my $register = $builder->build_object({ class => 'Koha::Cash::Registers' });
466
    my $register = $builder->build_object({ class => 'Koha::Cash::Registers' });
467
467
468
    my $line = Koha::Account::Line->new(
468
    my $line = Koha::Account::Line->new(
469
    {
469
        {
470
        borrowernumber => $patron->borrowernumber,
470
            borrowernumber  => $patron->borrowernumber,
471
        manager_id     => $staff->borrowernumber,
471
            manager_id      => $staff->borrowernumber,
472
        itemnumber     => $item->itemnumber,
472
            itemnumber      => $item->itemnumber,
473
        debit_type_code    => "OVERDUE",
473
            debit_type_code => "OVERDUE",
474
        status         => "RETURNED",
474
            issue_id        => $issue->id,
475
        amount         => 10,
475
            old_issue_id    => undef,
476
        interface      => 'commandline',
476
            status          => "RETURNED",
477
        register_id    => $register->id
477
            amount          => 10,
478
    })->store;
478
            interface       => 'commandline',
479
            register_id     => $register->id
480
        }
481
    )->store;
482
483
    MarkIssueReturned($patron->borrowernumber, $item->itemnumber, undef, 0 );
484
    $line = $line->get_from_storage;
485
    is( $line->issue_id, undef, "The account line should not be deleted when the related issue is archived");
486
    is( $line->old_issue_id, $issue->id, "The account line link to the archived issue");
487
488
    my $old_issue = Koha::Old::Checkouts->find($issue->id);
489
    $old_issue->delete;
490
    $line = $line->get_from_storage;
491
    is( $line->old_issue_id, undef, "The account line should not be deleted when the related old_issue is delete");
479
492
480
    $issue->delete;
481
    $item->delete;
493
    $item->delete;
482
    $line = $line->get_from_storage;
494
    $line = $line->get_from_storage;
483
    is( $line->itemnumber, undef, "The account line should not be deleted when the related item is delete");
495
    is( $line->itemnumber, undef, "The account line should not be deleted when the related item is delete");
484
- 

Return to bug 22421