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

(-)a/t/db_dependent/Koha/BackgroundJobs/BatchDeleteItem.t (-1 / +42 lines)
Lines 25-30 use JSON qw( encode_json ); Link Here
25
25
26
use Koha::Database;
26
use Koha::Database;
27
use Koha::BackgroundJob::BatchDeleteItem;
27
use Koha::BackgroundJob::BatchDeleteItem;
28
use Koha::Serial;
29
use Koha::Serial::Items;
28
30
29
use t::lib::Mocks;
31
use t::lib::Mocks;
30
use t::lib::TestBuilder;
32
use t::lib::TestBuilder;
Lines 34-40 my $builder = t::lib::TestBuilder->new; Link Here
34
36
35
subtest "process() tests" => sub {
37
subtest "process() tests" => sub {
36
38
37
    plan tests => 2;
39
    plan tests => 4;
38
40
39
    $schema->storage->txn_begin;
41
    $schema->storage->txn_begin;
40
42
Lines 103-107 subtest "process() tests" => sub { Link Here
103
105
104
    is( $counter, 1, 'Counter untouched with RealTimeHoldsQueue disabled' );
106
    is( $counter, 1, 'Counter untouched with RealTimeHoldsQueue disabled' );
105
107
108
    $biblio = $builder->build_sample_biblio;
109
    my $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
110
    my $serial =
111
        $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
112
    my $serial_item = $builder->build_object(
113
        {
114
            class => 'Koha::Serial::Items',
115
            value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
116
        }
117
    );
118
119
    $job = Koha::BackgroundJob::BatchDeleteItem->new(
120
        {
121
            status         => 'new',
122
            size           => 2,
123
            borrowernumber => undef,
124
            type           => 'batch_item_record_deletion',
125
            data           => encode_json {
126
                record_ids           => [ $item_with_serial->id ],
127
                delete_biblios       => 1,
128
                delete_serial_issues => 1,
129
            }
130
        }
131
    );
132
133
    $job->process(
134
        {
135
            record_ids           => [ $item_with_serial->id ],
136
            delete_biblios       => 1,
137
            delete_serial_issues => 1,
138
        }
139
    );
140
141
    my $serial_check      = Koha::Serials->find( $serial->serialid );
142
    my $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
143
144
    is( $serial_check,      undef, 'Serial deleted' );
145
    is( $serial_item_check, undef, 'Serial item deleted' );
146
106
    $schema->storage->txn_rollback;
147
    $schema->storage->txn_rollback;
107
};
148
};
(-)a/t/db_dependent/Koha/Item.t (-2 / +51 lines)
Lines 1214-1220 subtest 'store check barcodes' => sub { Link Here
1214
};
1214
};
1215
1215
1216
subtest 'deletion' => sub {
1216
subtest 'deletion' => sub {
1217
    plan tests => 15;
1217
    plan tests => 16;
1218
1218
1219
    $schema->storage->txn_begin;
1219
    $schema->storage->txn_begin;
1220
1220
Lines 1406-1411 subtest 'deletion' => sub { Link Here
1406
        $schema->storage->txn_rollback;
1406
        $schema->storage->txn_rollback;
1407
    };
1407
    };
1408
1408
1409
    subtest 'serial issues tests' => sub {
1410
        plan tests => 4;
1411
1412
        t::lib::Mocks::mock_preference( 'IndependentBranches', 0 );
1413
1414
        $schema->storage->txn_begin;
1415
1416
        my $biblio           = $builder->build_sample_biblio;
1417
        my $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
1418
        my $serial =
1419
            $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
1420
        my $serial_item = $builder->build_object(
1421
            {
1422
                class => 'Koha::Serial::Items',
1423
                value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
1424
            }
1425
        );
1426
1427
        # Check serial issue is not deleted unless argument passed
1428
        $item_with_serial->safe_delete( { delete_serial_issues => 0 } );
1429
1430
        my $serial_check      = Koha::Serials->find( $serial->serialid );
1431
        my $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
1432
1433
        is( $serial_check->serialid, $serial->serialid, 'Serial not deleted as the argument was not passed' );
1434
        is( $serial_item_check,      undef,             'Serial item deleted by cascade' );
1435
1436
        $biblio           = $builder->build_sample_biblio;
1437
        $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
1438
        $serial =
1439
            $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
1440
        $serial_item = $builder->build_object(
1441
            {
1442
                class => 'Koha::Serial::Items',
1443
                value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
1444
            }
1445
        );
1446
1447
        # Check serial issue is deleted when argument passed
1448
        $item_with_serial->safe_delete( { delete_serial_issues => 1 } );
1449
1450
        $serial_check      = Koha::Serials->find( $serial->serialid );
1451
        $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
1452
1453
        is( $serial_check,      undef, 'Serial deleted' );
1454
        is( $serial_item_check, undef, 'Serial item deleted by cascade' );
1455
1456
        $schema->storage->txn_rollback;
1457
    };
1458
1409
    $schema->storage->txn_rollback;
1459
    $schema->storage->txn_rollback;
1410
};
1460
};
1411
1461
1412
- 

Return to bug 37115