Bug 41031: Fix the subtest check_fixed_length in MARC21.t

Add test on empty marc object.
Remove MARC21 module and create with parent MARC object.

Test plan:
Run t/db_dependent/Koha/Biblio/Metadata/Extractor/MARC/MARC21.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Marcel de Rooy 2025-10-16 08:47:24 +02:00 committed by Lucas Gass
parent 4d2e2b8288
commit f1c0d2d6d8
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
1 changed files with 11 additions and 7 deletions

View File

@ -28,7 +28,6 @@ use t::lib::Mocks;
use C4::Biblio qw(ModBiblio);
use Koha::Biblio::Metadata::Extractor;
use Koha::Biblio::Metadata::Extractor::MARC::MARC21;
my $schema = Koha::Database->schema;
my $builder = t::lib::TestBuilder->new;
@ -92,19 +91,24 @@ subtest 'get_normalized_oclc() tests' => sub {
subtest 'check_fixed_length' => sub {
plan tests => 6;
plan tests => 8;
$schema->storage->txn_begin;
my $record = MARC::Record->new;
# Check empty object
my $record = MARC::Record->new;
my $extractor = Koha::Biblio::Metadata::Extractor::MARC->new( { metadata => $record } );
my $result = $extractor->check_fixed_length;
is( scalar @{ $result->{passed} }, 0, 'No passed fields' );
is( scalar @{ $result->{failed} }, 0, 'No failed fields' );
$record->append_fields(
MARC::Field->new( '005', '0123456789012345' ),
);
my $biblio = $builder->build_sample_biblio;
ModBiblio( $record, $biblio->biblionumber );
my $extractor;
$extractor = Koha::Biblio::Metadata::Extractor::MARC::MARC21->new( { biblio => $biblio } );
my $result = $extractor->check_fixed_length;
$extractor = Koha::Biblio::Metadata::Extractor::MARC->new( { biblio => $biblio } );
$result = $extractor->check_fixed_length;
is( $result->{passed}->[0], '005', 'Check first passed field' );
is( scalar @{ $result->{failed} }, 0, 'Check failed count' );
@ -116,7 +120,7 @@ subtest 'check_fixed_length' => sub {
);
# Passing latest record changes via metadata now
$extractor = Koha::Biblio::Metadata::Extractor::MARC::MARC21->new( { metadata => $record } );
$extractor = Koha::Biblio::Metadata::Extractor::MARC->new( { metadata => $record } );
$result = $extractor->check_fixed_length;
is( $result->{passed}->[1], '007', 'Check second passed field' );
is( $result->{passed}->[2], '007', 'Check third passed field' );