|
Lines 923-959
subtest 'UNIMARC + DOM' => sub {
Link Here
|
| 923 |
|
923 |
|
| 924 |
|
924 |
|
| 925 |
subtest 'FindDuplicate' => sub { |
925 |
subtest 'FindDuplicate' => sub { |
| 926 |
plan tests => 3; |
926 |
plan tests => 6; |
| 927 |
Koha::Caches->get_instance('config')->flush_all; |
927 |
Koha::Caches->get_instance('config')->flush_all; |
| 928 |
t::lib::Mocks::mock_preference('marcflavour', 'marc21' ); |
928 |
t::lib::Mocks::mock_preference('marcflavour', 'marc21' ); |
| 929 |
mock_GetMarcSubfieldStructure('marc21'); |
929 |
mock_GetMarcSubfieldStructure('marc21'); |
| 930 |
my $searcher = Test::MockModule->new('C4::Search'); |
930 |
my $z_searcher = Test::MockModule->new('C4::Search'); |
| 931 |
$searcher->mock('SimpleSearch', sub { |
931 |
$z_searcher->mock('SimpleSearch', sub { |
|
|
932 |
warn shift @_; |
| 933 |
return 1; |
| 934 |
}); |
| 935 |
my $e_searcher = Test::MockModule->new('Koha::SearchEngine::Elasticsearch::Search'); |
| 936 |
$e_searcher->mock('simple_search_compat', sub { |
| 937 |
shift @_; |
| 932 |
warn shift @_; |
938 |
warn shift @_; |
| 933 |
return 1; |
939 |
return 1; |
| 934 |
}); |
940 |
}); |
| 935 |
|
941 |
|
| 936 |
my $record = MARC::Record->new; |
942 |
my $record_1 = MARC::Record->new; |
| 937 |
$record->add_fields( |
943 |
$record_1 ->add_fields( |
| 938 |
[ '100', '0', '0', a => 'Morgenstern, Erin' ], |
944 |
[ '100', '0', '0', a => 'Morgenstern, Erin' ], |
| 939 |
[ '245', '0', '0', a => 'The night circus /' ] |
945 |
[ '245', '0', '0', a => 'The night circus /' ] |
| 940 |
); |
946 |
); |
| 941 |
warning_is { C4::Search::FindDuplicate($record);} |
947 |
my $record_2 = MARC::Record->new; |
| 942 |
q/ti,ext:"The night circus \/" and au,ext:"Morgenstern, Erin"/,"Term correctly formed"; |
948 |
$record_2 ->add_fields( |
| 943 |
|
|
|
| 944 |
$record = MARC::Record->new; |
| 945 |
$record->add_fields( |
| 946 |
[ '245', '0', '0', a => 'The book of nothing /' ] |
949 |
[ '245', '0', '0', a => 'The book of nothing /' ] |
| 947 |
); |
950 |
); |
| 948 |
warning_is { C4::Search::FindDuplicate($record);} |
951 |
my $record_3 = MARC::Record->new; |
| 949 |
q/ti,ext:"The book of nothing \/"/,"Term correctly formed"; |
952 |
$record_3->add_fields( |
| 950 |
|
|
|
| 951 |
$record = MARC::Record->new; |
| 952 |
$record->add_fields( |
| 953 |
[ '245', '0', '0', a => 'Frog and toad all year /' ] |
953 |
[ '245', '0', '0', a => 'Frog and toad all year /' ] |
| 954 |
); |
954 |
); |
| 955 |
warning_is { C4::Search::FindDuplicate($record);} |
955 |
|
| 956 |
q/ti,ext:"Frog and toad all year \/"/,"Term correctly formed"; |
956 |
foreach my $engine ('Zebra','Elasticsearch'){ |
|
|
957 |
t::lib::Mocks::mock_preference('searchEngine', $engine ); |
| 958 |
|
| 959 |
warning_is { C4::Search::FindDuplicate($record_1);} |
| 960 |
q/ti,ext:"The night circus \/" and au,ext:"Morgenstern, Erin"/,"Term correctly formed and passed to $engine"; |
| 961 |
|
| 962 |
warning_is { C4::Search::FindDuplicate($record_2);} |
| 963 |
q/ti,ext:"The book of nothing \/"/,"Term correctly formed and passed to $engine"; |
| 964 |
|
| 965 |
warning_is { C4::Search::FindDuplicate($record_3);} |
| 966 |
q/ti,ext:"Frog and toad all year \/"/,"Term correctly formed and passed to $engine"; |
| 967 |
} |
| 957 |
|
968 |
|
| 958 |
}; |
969 |
}; |
| 959 |
|
970 |
|
| 960 |
- |
|
|