Bug 18611: [QA Follow-up] Add unit test for GetItemNumbersFromImportBatch

Test plan:
Run t/db_dependent/ImportBatch.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 01e7523dfb)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
This commit is contained in:
Marcel de Rooy 2017-05-26 10:25:10 +02:00 committed by Katrin Fischer
parent dfc043a649
commit bebe91bafb
1 changed files with 24 additions and 5 deletions

View File

@ -1,19 +1,20 @@
#!/usr/bin/perl
use Modern::Perl;
use Test::More tests => 13;
use C4::Context;
use Test::More tests => 9;
use Koha::Database;
use t::lib::TestBuilder;
BEGIN {
use_ok('C4::ImportBatch');
}
# Start transaction
my $schema = Koha::Database->new->schema;
$schema->storage->txn_begin;
my $builder = t::lib::TestBuilder->new;
my $dbh = C4::Context->dbh;
$dbh->{AutoCommit} = 0;
$dbh->{RaiseError} = 1;
# clear
$dbh->do('DELETE FROM import_batches');
@ -118,6 +119,22 @@ my $record_from_import_biblio_without_items = C4::ImportBatch::GetRecordFromImpo
$original_record->leader($record_from_import_biblio_without_items->leader());
is_deeply( $record_from_import_biblio_without_items, $original_record, 'GetRecordFromImportBiblio should return the record without items by default' );
# Add a few tests for GetItemNumbersFromImportBatch
my @a = GetItemNumbersFromImportBatch( $id_import_batch1 );
is( @a, 0, 'No item numbers expected since we did not commit' );
my $itemno = $builder->build({ source => 'Item' })->{itemnumber};
# Link this item to the import item to fool GetItemNumbersFromImportBatch
my $sql = "UPDATE import_items SET itemnumber=? WHERE import_record_id=?";
$dbh->do( $sql, undef, $itemno, $import_record_id );
@a = GetItemNumbersFromImportBatch( $id_import_batch1 );
is( @a, 2, 'Expecting two items now' );
is( $a[0], $itemno, 'Check the first returned itemnumber' );
# Now delete the item and check again
$dbh->do( "DELETE FROM items WHERE itemnumber=?", undef, $itemno );
@a = GetItemNumbersFromImportBatch( $id_import_batch1 );
is( @a, 0, 'No item numbers expected since we deleted the item' );
$dbh->do( $sql, undef, undef, $import_record_id ); # remove link again
# fresh data
my $sample_import_batch3 = {
matcher_id => 3,
@ -144,3 +161,5 @@ is( $batch3_clean, "0E0", "Batch 3 has been cleaned" );
C4::ImportBatch::DeleteBatch( $id_import_batch3 );
my $batch3_results = $dbh->do('SELECT * FROM import_batches WHERE import_batch_id = "$id_import_batch3"');
is( $batch3_results, "0E0", "Batch 3 has been deleted");
$schema->storage->txn_rollback;