Bug 18951: Create data for TransformKohaToMarc.t

Adding schema and caching statements.
Adjust it so that the Koha to MARC mappings are not assumed to be present,
but are created as needed.
Remove the mock on marcflavour. It is no longer needed.
Resolving a small typo.

Test plan:
Run t/db_dependent/Biblio/TransformKohaToMarc.t

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

Signed-off-by: Lee Jamison <ldjamison@marywood.edu>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit f839955db7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit 36c3bbedfe)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
This commit is contained in:
Marcel de Rooy 2017-07-19 13:48:55 +02:00 committed by Katrin Fischer
parent 82ec039de8
commit 7f8b4e60ab
1 changed files with 21 additions and 10 deletions

View File

@ -3,16 +3,27 @@ use Test::More tests => 1;
use MARC::Record;
use t::lib::Mocks;
use Koha::Database;
use Koha::Caches;
use Koha::MarcSubfieldStructures;
use C4::Biblio;
t::lib::Mocks::mock_preference('marcflavour', 'MARC21');
my $schema = Koha::Database->new->schema;
$schema->storage->txn_begin;
# Create/overwrite some Koha to MARC mappings in default framework
my $mapping1 = Koha::MarcSubfieldStructures->find('','300','a') // Koha::MarcSubfieldStructure->new({ frameworkcode => '', tagfield => '300', tagsubfield => 'a' });
$mapping1->kohafield( "mytable.nicepages" );
$mapping1->store;
my $mapping2 = Koha::MarcSubfieldStructures->find('','300','b') // Koha::MarcSubfieldStructure->new({ frameworkcode => '', tagfield => '300', tagsubfield => 'b' });
$mapping2->kohafield( "mytable2.goodillustrations" );
$mapping2->store;
Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" );
my $record = C4::Biblio::TransformKohaToMarc({
"biblioitems.illus" => "Other physical details", # 300$b
"biblioitems.pages" => "Extent", # 300$a
"biblioitems.size" => "Dimensions", # 300$c
"mytable2.goodillustrations" => "Other physical details", # 300$b
"mytable.nicepages" => "Extent", # 300$a
});
my @subfields = $record->field('300')->subfields();
is_deeply( \@subfields, [
[
@ -23,9 +34,9 @@ is_deeply( \@subfields, [
'b',
'Other physical details'
],
[
'c',
'Dimensions'
]
],
'TransformKohaToMarc should returns sorted subfields (regression test for bug 12343)' );
'TransformKohaToMarc should return sorted subfields (regression test for bug 12343)' );
# Cleanup
Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" );
$schema->storage->txn_rollback;