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

(-)a/t/db_dependent/Koha/BackgroundJobs/BatchDeleteItem.t (-1 / +42 lines)
Lines 24-29 use JSON qw( encode_json ); Link Here
24
24
25
use Koha::Database;
25
use Koha::Database;
26
use Koha::BackgroundJob::BatchDeleteItem;
26
use Koha::BackgroundJob::BatchDeleteItem;
27
use Koha::Serial;
28
use Koha::Serial::Items;
27
29
28
use t::lib::Mocks;
30
use t::lib::Mocks;
29
use t::lib::TestBuilder;
31
use t::lib::TestBuilder;
Lines 33-39 my $builder = t::lib::TestBuilder->new; Link Here
33
35
34
subtest "process() tests" => sub {
36
subtest "process() tests" => sub {
35
37
36
    plan tests => 2;
38
    plan tests => 4;
37
39
38
    $schema->storage->txn_begin;
40
    $schema->storage->txn_begin;
39
41
Lines 99-103 subtest "process() tests" => sub { Link Here
99
101
100
    is( $counter, 1, 'Counter untouched with RealTimeHoldsQueue disabled' );
102
    is( $counter, 1, 'Counter untouched with RealTimeHoldsQueue disabled' );
101
103
104
    $biblio = $builder->build_sample_biblio;
105
    my $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
106
    my $serial =
107
        $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
108
    my $serial_item = $builder->build_object(
109
        {
110
            class => 'Koha::Serial::Items',
111
            value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
112
        }
113
    );
114
115
    $job = Koha::BackgroundJob::BatchDeleteItem->new(
116
        {
117
            status         => 'new',
118
            size           => 2,
119
            borrowernumber => undef,
120
            type           => 'batch_item_record_deletion',
121
            data           => encode_json {
122
                record_ids           => [ $item_with_serial->id ],
123
                delete_biblios       => 1,
124
                delete_serial_issues => 1,
125
            }
126
        }
127
    );
128
129
    $job->process(
130
        {
131
            record_ids           => [ $item_with_serial->id ],
132
            delete_biblios       => 1,
133
            delete_serial_issues => 1,
134
        }
135
    );
136
137
    my $serial_check      = Koha::Serials->find( $serial->serialid );
138
    my $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
139
140
    is( $serial_check,      undef, 'Serial deleted' );
141
    is( $serial_item_check, undef, 'Serial item deleted' );
142
102
    $schema->storage->txn_rollback;
143
    $schema->storage->txn_rollback;
103
};
144
};
(-)a/t/db_dependent/Koha/Item.t (-2 / +51 lines)
Lines 955-961 subtest 'store check barcodes' => sub { Link Here
955
};
955
};
956
956
957
subtest 'deletion' => sub {
957
subtest 'deletion' => sub {
958
    plan tests => 15;
958
    plan tests => 16;
959
959
960
    $schema->storage->txn_begin;
960
    $schema->storage->txn_begin;
961
961
Lines 1131-1136 subtest 'deletion' => sub { Link Here
1131
        $schema->storage->txn_rollback;
1131
        $schema->storage->txn_rollback;
1132
    };
1132
    };
1133
1133
1134
    subtest 'serial issues tests' => sub {
1135
        plan tests => 4;
1136
1137
        t::lib::Mocks::mock_preference( 'IndependentBranches', 0 );
1138
1139
        $schema->storage->txn_begin;
1140
1141
        my $biblio           = $builder->build_sample_biblio;
1142
        my $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
1143
        my $serial =
1144
            $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
1145
        my $serial_item = $builder->build_object(
1146
            {
1147
                class => 'Koha::Serial::Items',
1148
                value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
1149
            }
1150
        );
1151
1152
        # Check serial issue is not deleted unless argument passed
1153
        $item_with_serial->safe_delete( { delete_serial_issues => 0 } );
1154
1155
        my $serial_check      = Koha::Serials->find( $serial->serialid );
1156
        my $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
1157
1158
        is( $serial_check->serialid, $serial->serialid, 'Serial not deleted as the argument was not passed' );
1159
        is( $serial_item_check,      undef,             'Serial item deleted by cascade' );
1160
1161
        $biblio           = $builder->build_sample_biblio;
1162
        $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
1163
        $serial =
1164
            $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
1165
        $serial_item = $builder->build_object(
1166
            {
1167
                class => 'Koha::Serial::Items',
1168
                value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
1169
            }
1170
        );
1171
1172
        # Check serial issue is deleted when argument passed
1173
        $item_with_serial->safe_delete( { delete_serial_issues => 1 } );
1174
1175
        $serial_check      = Koha::Serials->find( $serial->serialid );
1176
        $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
1177
1178
        is( $serial_check,      undef, 'Serial deleted' );
1179
        is( $serial_item_check, undef, 'Serial item deleted by cascade' );
1180
1181
        $schema->storage->txn_rollback;
1182
    };
1183
1134
    $schema->storage->txn_rollback;
1184
    $schema->storage->txn_rollback;
1135
};
1185
};
1136
1186
1137
- 

Return to bug 37115