From 2b9e39b66bffe1efca974d953b2b8f3df5147284 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 7 Mar 2023 20:05:28 +0000 Subject: [PATCH] Bug 33100: Unit test --- t/db_dependent/Heading.t | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/t/db_dependent/Heading.t b/t/db_dependent/Heading.t index 9a21534828..4fb5f8241e 100755 --- a/t/db_dependent/Heading.t +++ b/t/db_dependent/Heading.t @@ -64,7 +64,7 @@ subtest "UNIMARC tests" => sub { }; subtest "_search tests" => sub { - plan tests => 4; + plan tests => 5; t::lib::Mocks::mock_preference('marcflavour', 'MARC21'); t::lib::Mocks::mock_preference('SearchEngine', 'Elasticsearch'); @@ -112,9 +112,19 @@ subtest "_search tests" => sub { $search_query = $heading->_search( 'match-heading' ); $terms = $search_query->{query}->{bool}->{must}; $expected_terms = [ - { term => { 'match-heading.ci_raw' => 'Yankovic, Al 1959-' } }, + { term => { 'match-heading.ci_raw' => 'Yankovic, Al 1959' } }, { term => { 'subject-heading-thesaurus.ci_raw' => 'a' } }, ]; - is_deeply( $terms, $expected_terms, "Search formed as expected for a non-subject field"); + is_deeply( $terms, $expected_terms, "Search formed as expected for a non-subject field with doulbe punctuation, hyphen+comma"); + + $field = MARC::Field->new( '100', ' ', '', a => 'Tolkien, J.R.R.,', e => '[author]' ); + $heading = C4::Heading->new_from_field($field); + $search_query = $heading->_search( 'match-heading' ); + $terms = $search_query->{query}->{bool}->{must}; + $expected_terms = [ + { term => { 'match-heading.ci_raw' => 'Tolkien, J.R.R' } }, + { term => { 'subject-heading-thesaurus.ci_raw' => 'a' } }, + ]; + is_deeply( $terms, $expected_terms, "Search formed as expected for a non-subject field with double punctuation, period+comma "); }; -- 2.30.2