From 906563d1ff9dd32b53b38e9b40a316f0570637fc Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Fri, 2 Feb 2018 12:06:00 +0100 Subject: [PATCH] Bug 20126: Add simple test for ModBiblioMarc Just to confirm that we see record length and base address in a record that has been passed through ModBiblioMarc. Test plan: Run the test. Signed-off-by: Marcel de Rooy Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart --- t/db_dependent/Biblio/ModBiblioMarc.t | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 t/db_dependent/Biblio/ModBiblioMarc.t diff --git a/t/db_dependent/Biblio/ModBiblioMarc.t b/t/db_dependent/Biblio/ModBiblioMarc.t new file mode 100644 index 0000000000..3eaf4f73b3 --- /dev/null +++ b/t/db_dependent/Biblio/ModBiblioMarc.t @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . + +use Modern::Perl; + +use Test::More tests => 1; +use t::lib::Mocks; +use t::lib::TestBuilder; +use MARC::Record; + +use C4::Biblio; +use Koha::Database; + +my $schema = Koha::Database->new->schema; +$schema->storage->txn_begin; + +subtest "Check MARC field length calculation" => sub { + plan tests => 3; + + t::lib::Mocks->mock_preference( 'marcflavour', 'MARC21' ); + + my $biblio = t::lib::TestBuilder->new->build({ source => 'Biblio' }); + my $record = MARC::Record->new; + $record->append_fields( + MARC::Field->new( '100', '', '', a => 'My title' ), + ); + + is( $record->leader, ' 'x24, 'No leader lengths' ); + C4::Biblio::ModBiblioMarc( $record, $biblio->{biblionumber}, '' ); + my $savedrec = C4::Biblio::GetMarcBiblio({ biblionumber => $biblio->{biblionumber} }); + like( substr($savedrec->leader,0,5), qr/^\d{5}$/, 'Record length found' ); + like( substr($savedrec->leader,12,5), qr/^\d{5}$/, 'Base address found' ); +}; + +$schema->storage->txn_rollback; -- 2.39.2