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 844-850 subtest 'request_transfer' => sub { Link Here
844
};
844
};
845
845
846
subtest 'deletion' => sub {
846
subtest 'deletion' => sub {
847
    plan tests => 15;
847
    plan tests => 16;
848
848
849
    $schema->storage->txn_begin;
849
    $schema->storage->txn_begin;
850
850
Lines 1020-1025 subtest 'deletion' => sub { Link Here
1020
        $schema->storage->txn_rollback;
1020
        $schema->storage->txn_rollback;
1021
    };
1021
    };
1022
1022
1023
    subtest 'serial issues tests' => sub {
1024
        plan tests => 4;
1025
1026
        t::lib::Mocks::mock_preference( 'IndependentBranches', 0 );
1027
1028
        $schema->storage->txn_begin;
1029
1030
        my $biblio           = $builder->build_sample_biblio;
1031
        my $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
1032
        my $serial =
1033
            $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
1034
        my $serial_item = $builder->build_object(
1035
            {
1036
                class => 'Koha::Serial::Items',
1037
                value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
1038
            }
1039
        );
1040
1041
        # Check serial issue is not deleted unless argument passed
1042
        $item_with_serial->safe_delete( { delete_serial_issues => 0 } );
1043
1044
        my $serial_check      = Koha::Serials->find( $serial->serialid );
1045
        my $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
1046
1047
        is( $serial_check->serialid, $serial->serialid, 'Serial not deleted as the argument was not passed' );
1048
        is( $serial_item_check,      undef,             'Serial item deleted by cascade' );
1049
1050
        $biblio           = $builder->build_sample_biblio;
1051
        $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
1052
        $serial =
1053
            $builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
1054
        $serial_item = $builder->build_object(
1055
            {
1056
                class => 'Koha::Serial::Items',
1057
                value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
1058
            }
1059
        );
1060
1061
        # Check serial issue is deleted when argument passed
1062
        $item_with_serial->safe_delete( { delete_serial_issues => 1 } );
1063
1064
        $serial_check      = Koha::Serials->find( $serial->serialid );
1065
        $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
1066
1067
        is( $serial_check,      undef, 'Serial deleted' );
1068
        is( $serial_item_check, undef, 'Serial item deleted by cascade' );
1069
1070
        $schema->storage->txn_rollback;
1071
    };
1072
1023
    $schema->storage->txn_rollback;
1073
    $schema->storage->txn_rollback;
1024
};
1074
};
1025
1075
1026
- 

Return to bug 37115