View | Details | Raw Unified | Return to bug 31185
Collapse All | Expand All

(-)a/t/db_dependent/Biblio.t (-2 / +55 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 16;
20
use Test::More tests => 17;
21
use Test::MockModule;
21
use Test::MockModule;
22
use Test::Warn;
22
use Test::Warn;
23
use List::MoreUtils qw( uniq );
23
use List::MoreUtils qw( uniq );
Lines 759-764 subtest 'ModBiblio called from linker test' => sub { Link Here
759
    is($called,0,"We didn't call to link bibs because from linker");
759
    is($called,0,"We didn't call to link bibs because from linker");
760
};
760
};
761
761
762
subtest "LinkBibHeadingsToAuthorities tests" => sub {
763
    plan tests => 5;
764
765
    # Set up mocks to return more than 1 match
766
    my $biblio_mod = Test::MockModule->new( 'C4::Linker::Default' );
767
    $biblio_mod->mock( 'get_link', sub {
768
        return (undef, undef, 2);
769
    });
770
    # UNIMARC return values should be consistent with MARC21
771
    # testing with MARC21 should be sufficient for now
772
    t::lib::Mocks::mock_preference('marcflavour', 'MARC21');
773
    t::lib::Mocks::mock_preference('AutoCreateAuthorities', '0');
774
775
    my $linker = C4::Linker::Default->new();
776
    my $biblio = $builder->build_sample_biblio();
777
    my $record = $biblio->metadata->record;
778
779
    # Generate a field, no current link
780
    my $field = MARC::Field->new('650','','','a' => 'Duplicated' );
781
782
    $record->append_fields($field);
783
    my ( $num_headings_changed, $results ) = LinkBibHeadingsToAuthorities( $linker, $record, "", undef, 650, 1 );
784
    is( $num_headings_changed, 0, 'We did not make any changes because we found 2' );
785
    is_deeply( $results->{unlinked},
786
        {"Duplicated" => 1 },
787
        "The heading was not linked"
788
    );
789
    is_deeply( $results->{details}[0],
790
        {
791
            tag => 650,
792
            authid => undef,
793
            status => 'MULTIPLE_MATCH',
794
            auth_type => 'TOPIC_TERM',
795
            tag_to_report => 150
796
        },
797
        "The heading was not linked"
798
    );
799
800
    t::lib::Mocks::mock_preference('AutoCreateAuthorities', '1');
801
    ( $num_headings_changed, $results ) = LinkBibHeadingsToAuthorities( $linker, $record, "", undef, 650, 1 );
802
    is( $num_headings_changed, 0, 'We did not make any changes because we found 2' );
803
    is_deeply( $results->{details}[0],
804
        {
805
            tag => 650,
806
            authid => undef,
807
            status => 'MULTIPLE_MATCH',
808
            auth_type => 'TOPIC_TERM',
809
            tag_to_report => 150
810
        },
811
        "When AutoCreateAuthorities is enabled, multiple results are reported"
812
    );
813
814
};
815
762
subtest "LinkBibHeadingsToAuthorities record generation tests" => sub {
816
subtest "LinkBibHeadingsToAuthorities record generation tests" => sub {
763
    plan tests => 12;
817
    plan tests => 12;
764
818
765
- 

Return to bug 31185