From 4fea804342e4b3b62d913a5cd1a676b940456363 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Fri, 7 Jul 2017 17:55:50 +0000 Subject: [PATCH] Bug 16976 - Unit tests --- t/Search/Zebra/QueryBuilder.t | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 t/Search/Zebra/QueryBuilder.t diff --git a/t/Search/Zebra/QueryBuilder.t b/t/Search/Zebra/QueryBuilder.t new file mode 100644 index 0000000..cc96953 --- /dev/null +++ b/t/Search/Zebra/QueryBuilder.t @@ -0,0 +1,39 @@ +#!/usr/bin/env perl + +use Modern::Perl; + +use Test::More tests => 2; +use_ok('Koha::SearchEngine::Zebra::QueryBuilder'); + +subtest 'build_authorities_query' => sub { + plan tests => 2; + + my @test_search = ( + ['mainmainentry'], ['and'], [''], ['contains'], ['any'], '', + 'HeadingAsc' + ); + my $expected_result = { + marclist => ['mainmainentry'], + and_or => ['and'], + excluding => [''], + operator => ['contains'], + value => ['any'], + authtypecode => '', + orderby => 'HeadingAsc', + }; + my $built_search = + Koha::SearchEngine::Zebra::QueryBuilder->build_authorities_query( @test_search ); + is_deeply( + $built_search, $expected_result, + "We are simply hashifying our array of refs/values, should otherwise not be altered" + ); + $expected_result->{value} = ['"any"']; + $test_search[4] = ['"any"']; + $built_search = + Koha::SearchEngine::Zebra::QueryBuilder->build_authorities_query( @test_search ); + is_deeply( + $built_search, $expected_result, + "The same should hold true if the search contains double quotes which will be escaped during searching by search_auth_compat subroutine" + ); +}; + -- 2.1.4