From 56f642610bdda5c696038ce8d3eacf653bfc53ed Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 6 Apr 2017 14:27:50 -0400 Subject: [PATCH] Bug 18374: QueryAutoTruncate unit tests To test: 1 - Apply just this patch - should fail 2 - Apply the other patch - should pass Signed-off-by: Tomas Cohen Arazi Signed-off-by: Julian Maurice --- t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t b/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t index 5c37200485..8afa74bc1a 100644 --- a/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t +++ b/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t @@ -81,7 +81,7 @@ subtest 'json2marc' => sub { }; subtest 'build_query tests' => sub { - plan tests => 6; + plan tests => 10; t::lib::Mocks::mock_preference('DisplayLibraryFacets','both'); my $query = $builder->build_query(); @@ -101,5 +101,19 @@ subtest 'build_query tests' => sub { 'homebranch added to facets if DisplayLibraryFacets=home' ); ok( !defined $query->{aggregations}{holdingbranch}, 'holdingbranch not added to facets if DisplayLibraryFacets=home' ); + + t::lib::Mocks::mock_preference('QueryAutoTruncate',''); + ( undef, $query ) = $builder->build_query_compat( undef, ['donald duck'] ); + is( $query->{query}{query_string}{query}, "(donald duck)", "query not altered if QueryAutoTruncate disabled" ); + + t::lib::Mocks::mock_preference('QueryAutoTruncate','1'); + ( undef, $query ) = $builder->build_query_compat( undef, ['donald duck'] ); + is( $query->{query}{query_string}{query}, "(donald* duck*)", "simple query is auto truncated when QueryAutoTruncate enabled" ); + ( undef, $query ) = $builder->build_query_compat( undef, ['donald or duck and mickey not mouse'] ); + is( $query->{query}{query_string}{query}, "(donald* or duck* and mickey* not mouse*)", "reserved words are not affected by QueryAutoTruncate" ); #Ensure reserved words are not truncated + ( undef, $query ) = $builder->build_query_compat( undef, ['donald* duck*'] ); + is( $query->{query}{query_string}{query}, "(donald* duck*)", "query with '*' is unaltered when QueryAutoTruncate is enabled" ); + + }; -- 2.11.0