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 971-977 subtest 'store check barcodes' => sub { Link Here
971
};
971
};
972
972
973
subtest 'deletion' => sub {
973
subtest 'deletion' => sub {
974
    plan tests => 15;
974
    plan tests => 16;
975
975
976
    $schema->storage->txn_begin;
976
    $schema->storage->txn_begin;
977
977
Lines 1147-1152 subtest 'deletion' => sub { Link Here
1147
        $schema->storage->txn_rollback;
1147
        $schema->storage->txn_rollback;
1148
    };
1148
    };
1149
1149
1150
    subtest 'serial issues tests' => sub {
1151
        plan tests => 4;
1152
1153
        t::lib::Mocks::mock_preference( 'IndependentBranches', 0 );
1154
1155
        $schema->storage->txn_begin;
1156
1157
        my $biblio           = $builder->build_sample_biblio;
1158
        my $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
1159
        my $serial =
1160
            $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
1161
        my $serial_item = $builder->build_object(
1162
            {
1163
                class => 'Koha::Serial::Items',
1164
                value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
1165
            }
1166
        );
1167
1168
        # Check serial issue is not deleted unless argument passed
1169
        $item_with_serial->safe_delete( { delete_serial_issues => 0 } );
1170
1171
        my $serial_check      = Koha::Serials->find( $serial->serialid );
1172
        my $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
1173
1174
        is( $serial_check->serialid, $serial->serialid, 'Serial not deleted as the argument was not passed' );
1175
        is( $serial_item_check,      undef,             'Serial item deleted by cascade' );
1176
1177
        $biblio           = $builder->build_sample_biblio;
1178
        $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
1179
        $serial =
1180
            $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
1181
        $serial_item = $builder->build_object(
1182
            {
1183
                class => 'Koha::Serial::Items',
1184
                value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
1185
            }
1186
        );
1187
1188
        # Check serial issue is deleted when argument passed
1189
        $item_with_serial->safe_delete( { delete_serial_issues => 1 } );
1190
1191
        $serial_check      = Koha::Serials->find( $serial->serialid );
1192
        $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
1193
1194
        is( $serial_check,      undef, 'Serial deleted' );
1195
        is( $serial_item_check, undef, 'Serial item deleted by cascade' );
1196
1197
        $schema->storage->txn_rollback;
1198
    };
1199
1150
    $schema->storage->txn_rollback;
1200
    $schema->storage->txn_rollback;
1151
};
1201
};
1152
1202
1153
- 

Return to bug 37115