Bug 37115: Add unit tests
prove t/db_dependent/Koha/Item.t
prove t/db_dependent/Koha/BackgroundJobs/BatchDeleteItem.t
Signed-off-by: Boubacar OUATTARA <boubacar.ouattara@biblibre.com>
Signed-off-by: Nathalie <nathalie.savarit@univ-amu.fr>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 66d10246a3)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
This commit is contained in:
parent
e766667c91
commit
6af70de8ec
|
|
@ -25,6 +25,8 @@ use JSON qw( encode_json );
|
|||
|
||||
use Koha::Database;
|
||||
use Koha::BackgroundJob::BatchDeleteItem;
|
||||
use Koha::Serial;
|
||||
use Koha::Serial::Items;
|
||||
|
||||
use t::lib::Mocks;
|
||||
use t::lib::TestBuilder;
|
||||
|
|
@ -34,7 +36,7 @@ my $builder = t::lib::TestBuilder->new;
|
|||
|
||||
subtest "process() tests" => sub {
|
||||
|
||||
plan tests => 2;
|
||||
plan tests => 4;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
|
|
@ -103,5 +105,44 @@ subtest "process() tests" => sub {
|
|||
|
||||
is( $counter, 1, 'Counter untouched with RealTimeHoldsQueue disabled' );
|
||||
|
||||
$biblio = $builder->build_sample_biblio;
|
||||
my $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
|
||||
my $serial =
|
||||
$builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
|
||||
my $serial_item = $builder->build_object(
|
||||
{
|
||||
class => 'Koha::Serial::Items',
|
||||
value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
|
||||
}
|
||||
);
|
||||
|
||||
$job = Koha::BackgroundJob::BatchDeleteItem->new(
|
||||
{
|
||||
status => 'new',
|
||||
size => 2,
|
||||
borrowernumber => undef,
|
||||
type => 'batch_item_record_deletion',
|
||||
data => encode_json {
|
||||
record_ids => [ $item_with_serial->id ],
|
||||
delete_biblios => 1,
|
||||
delete_serial_issues => 1,
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
$job->process(
|
||||
{
|
||||
record_ids => [ $item_with_serial->id ],
|
||||
delete_biblios => 1,
|
||||
delete_serial_issues => 1,
|
||||
}
|
||||
);
|
||||
|
||||
my $serial_check = Koha::Serials->find( $serial->serialid );
|
||||
my $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
|
||||
|
||||
is( $serial_check, undef, 'Serial deleted' );
|
||||
is( $serial_item_check, undef, 'Serial item deleted' );
|
||||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1214,7 +1214,7 @@ subtest 'store check barcodes' => sub {
|
|||
};
|
||||
|
||||
subtest 'deletion' => sub {
|
||||
plan tests => 15;
|
||||
plan tests => 16;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
|
|
@ -1406,6 +1406,56 @@ subtest 'deletion' => sub {
|
|||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
||||
subtest 'serial issues tests' => sub {
|
||||
plan tests => 4;
|
||||
|
||||
t::lib::Mocks::mock_preference( 'IndependentBranches', 0 );
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
my $biblio = $builder->build_sample_biblio;
|
||||
my $item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
|
||||
my $serial =
|
||||
$builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
|
||||
my $serial_item = $builder->build_object(
|
||||
{
|
||||
class => 'Koha::Serial::Items',
|
||||
value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
|
||||
}
|
||||
);
|
||||
|
||||
# Check serial issue is not deleted unless argument passed
|
||||
$item_with_serial->safe_delete( { delete_serial_issues => 0 } );
|
||||
|
||||
my $serial_check = Koha::Serials->find( $serial->serialid );
|
||||
my $serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
|
||||
|
||||
is( $serial_check->serialid, $serial->serialid, 'Serial not deleted as the argument was not passed' );
|
||||
is( $serial_item_check, undef, 'Serial item deleted by cascade' );
|
||||
|
||||
$biblio = $builder->build_sample_biblio;
|
||||
$item_with_serial = $builder->build_sample_item( { biblionumber => $biblio->id } );
|
||||
$serial =
|
||||
$builder->build_object( { class => 'Koha::Serials', value => { biblionumber => $biblio->biblionumber } } );
|
||||
$serial_item = $builder->build_object(
|
||||
{
|
||||
class => 'Koha::Serial::Items',
|
||||
value => { itemnumber => $item_with_serial->itemnumber, serialid => $serial->serialid }
|
||||
}
|
||||
);
|
||||
|
||||
# Check serial issue is deleted when argument passed
|
||||
$item_with_serial->safe_delete( { delete_serial_issues => 1 } );
|
||||
|
||||
$serial_check = Koha::Serials->find( $serial->serialid );
|
||||
$serial_item_check = Koha::Serial::Items->find( $serial_item->itemnumber );
|
||||
|
||||
is( $serial_check, undef, 'Serial deleted' );
|
||||
is( $serial_item_check, undef, 'Serial item deleted by cascade' );
|
||||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue