Koha/t/Search/Zebra/QueryBuilder.t
Nick Clemens 07c0d968b7 Bug 16976 - Unit tests
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2017-08-15 12:17:40 -03:00

38 lines
1.2 KiB
Perl

#!/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"
);
};