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 => 18;
20
use Test::More tests => 19;
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 781-786 subtest 'ModBiblio called from linker test' => sub { Link Here
781
    is($called,0,"We didn't call to link bibs because from linker");
781
    is($called,0,"We didn't call to link bibs because from linker");
782
};
782
};
783
783
784
subtest "LinkBibHeadingsToAuthorities tests" => sub {
785
    plan tests => 5;
786
787
    # Set up mocks to return more than 1 match
788
    my $biblio_mod = Test::MockModule->new( 'C4::Linker::Default' );
789
    $biblio_mod->mock( 'get_link', sub {
790
        return (undef, undef, 2);
791
    });
792
    # UNIMARC return values should be consistent with MARC21
793
    # testing with MARC21 should be sufficient for now
794
    t::lib::Mocks::mock_preference('marcflavour', 'MARC21');
795
    t::lib::Mocks::mock_preference('AutoCreateAuthorities', '0');
796
797
    my $linker = C4::Linker::Default->new();
798
    my $biblio = $builder->build_sample_biblio();
799
    my $record = $biblio->metadata->record;
800
801
    # Generate a field, no current link
802
    my $field = MARC::Field->new('650','','','a' => 'Duplicated' );
803
804
    $record->append_fields($field);
805
    my ( $num_headings_changed, $results ) = LinkBibHeadingsToAuthorities( $linker, $record, "", undef, 650, 1 );
806
    is( $num_headings_changed, 0, 'We did not make any changes because we found 2' );
807
    is_deeply( $results->{unlinked},
808
        {"Duplicated" => 1 },
809
        "The heading was not linked"
810
    );
811
    is_deeply( $results->{details}[0],
812
        {
813
            tag => 650,
814
            authid => undef,
815
            status => 'MULTIPLE_MATCH',
816
            auth_type => 'TOPIC_TERM',
817
            tag_to_report => 150
818
        },
819
        "The heading was not linked"
820
    );
821
822
    t::lib::Mocks::mock_preference('AutoCreateAuthorities', '1');
823
    ( $num_headings_changed, $results ) = LinkBibHeadingsToAuthorities( $linker, $record, "", undef, 650, 1 );
824
    is( $num_headings_changed, 0, 'We did not make any changes because we found 2' );
825
    is_deeply( $results->{details}[0],
826
        {
827
            tag => 650,
828
            authid => undef,
829
            status => 'MULTIPLE_MATCH',
830
            auth_type => 'TOPIC_TERM',
831
            tag_to_report => 150
832
        },
833
        "When AutoCreateAuthorities is enabled, multiple results are reported"
834
    );
835
836
};
837
784
subtest "LinkBibHeadingsToAuthorities record generation tests" => sub {
838
subtest "LinkBibHeadingsToAuthorities record generation tests" => sub {
785
    plan tests => 12;
839
    plan tests => 12;
786
840
787
- 

Return to bug 31185