From 7bed15f73418903440ebcd4de2a276c4584aec81 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 28 Apr 2020 13:29:52 +0000 Subject: [PATCH] Bug 25189: Unit tests --- t/db_dependent/Biblio.t | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/t/db_dependent/Biblio.t b/t/db_dependent/Biblio.t index 1d12d29b37..f599819ff7 100755 --- a/t/db_dependent/Biblio.t +++ b/t/db_dependent/Biblio.t @@ -29,6 +29,8 @@ use Koha::Database; use Koha::Caches; use Koha::MarcSubfieldStructures; +use C4::Linker::Default; + BEGIN { use_ok('C4::Biblio'); } @@ -124,6 +126,32 @@ subtest "GetMarcFromKohaField" => sub { is( $retval[0].$retval[1], '399a', 'Including 399a' ); }; +subtest "Authority creation with default linker" => sub { + plan tests => 2; + # Automatic authority creation + t::lib::Mocks::mock_preference('LinkerModule', 'Default'); + t::lib::Mocks::mock_preference('BiblioAddsAuthorities', 1); + t::lib::Mocks::mock_preference('AutoCreateAuthorities', 1); + t::lib::Mocks::mock_preference('marcflavour', 'MARC21'); + my $linker = C4::Linker::Default->new({}); + my $authorities_mod = Test::MockModule->new( 'C4::Heading' ); + $authorities_mod->mock( + 'authorities', + sub { + my $results = [{ authid => 'original' },{ authid => 'duplicate' }]; + return $results; + } + ); + my $marc_record = MARC::Record->new(); + my $field = MARC::Field->new(655, ' ', ' ','a' => 'Magical realism'); + $marc_record->append_fields( $field ); + my ($num_changed,$results) = LinkBibHeadingsToAuthorities($linker, $marc_record, "",undef); + is( $num_changed, 0, "We shouldn't link or create a new record"); + ok( !defined $results->{added}, "If we have multiple matches, we shouldn't create a new record"); +}; + + + # Mocking variables my $biblio_module = new Test::MockModule('C4::Biblio'); $biblio_module->mock( -- 2.11.0