Bug 25189: Unit tests
Adds new test for not adding authority if some already exist Also replaces use of 'SearchAuthorities' as it is Zebra specific Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
9e923e57ed
commit
258d0b0ecd
1 changed files with 32 additions and 4 deletions
|
@ -17,7 +17,7 @@
|
|||
|
||||
use Modern::Perl;
|
||||
|
||||
use Test::More tests => 13;
|
||||
use Test::More tests => 14;
|
||||
use Test::MockModule;
|
||||
use List::MoreUtils qw( uniq );
|
||||
use MARC::Record;
|
||||
|
@ -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(
|
||||
|
@ -384,12 +412,12 @@ sub run_tests {
|
|||
# Automatic authority creation
|
||||
t::lib::Mocks::mock_preference('BiblioAddsAuthorities', 1);
|
||||
t::lib::Mocks::mock_preference('AutoCreateAuthorities', 1);
|
||||
my $authorities_mod = Test::MockModule->new( 'C4::AuthoritiesMarc' );
|
||||
my $authorities_mod = Test::MockModule->new( 'C4::Heading' );
|
||||
$authorities_mod->mock(
|
||||
'SearchAuthorities',
|
||||
'authorities',
|
||||
sub {
|
||||
my @results;
|
||||
return \@results, 0;
|
||||
return \@results;
|
||||
}
|
||||
);
|
||||
$success = 0;
|
||||
|
|
Loading…
Reference in a new issue