From 3fca5f38d223c1f681db6ae3b4c601fd85025d7b 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 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 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..42df1c5 --- /dev/null +++ b/t/Search/Zebra/QueryBuilder.t @@ -0,0 +1,29 @@ +#!/usr/bin/env perl + +use Modern::Perl; + +use Test::More tests => 1; +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); + warn Data::Dumper::Dumper( $built_search, $expected_result ); + 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