Merge remote-tracking branch 'origin/new/bug_8315'
[koha.git] / t / searchengine / 003_query / buildquery.t
1 use Modern::Perl;
2 use Test::More;
3 use C4::Context;
4
5 use Koha::SearchEngine;
6 use Koha::SearchEngine::QueryBuilder;
7 use t::lib::Mocks;
8
9 my $titleindex = "title";
10 my $authorindex = "author";
11 #my $eanindex = "str_ean";
12 #my $pubdateindex = "date_pubdate";
13
14 my ($operands, $indexes, $operators);
15
16
17 # === Solr part ===
18 @$operands = ('cup', 'rowling');
19 @$indexes = ('ti', 'au');
20 @$operators = ('AND');
21
22 set_solr;
23 my $qs = Koha::SearchEngine::QueryBuilder->new;
24
25 my $se = Koha::SearchEngine->new;
26 is( $se->name, "Solr", "Test searchengine name eq Solr" );
27
28 my $gotsolr = $qs->build_advanced_query($indexes, $operands, $operators);
29 my $expectedsolr = "ti:cup AND au:rowling";
30 is($gotsolr, $expectedsolr, "Test build_query Solr");
31
32
33 # === Zebra part ===
34 set_zebra;
35 $se = Koha::SearchEngine->new;
36 is( $se->name, "Zebra", "Test searchengine name eq Zebra" );
37 $qs = Koha::SearchEngine::QueryBuilder->new;
38 my ( $builterror, $builtquery, $simple_query, $query_cgi, $query_desc, $limit, $limit_cgi, $limit_desc, $stopwords_removed, $query_type ) = $qs->build_query($operators, $operands, $indexes);
39 my $gotzebra = $builtquery;
40 my $expectedzebra = qq{ti,wrdl= cup AND au,wrdl= rowling };
41 is($gotzebra, $expectedzebra, "Test Zebra indexes in 'normal' search");
42 # @and @attr 1=title @attr 4=6 "des mots de mon titre" @attr 1=author Jean en PQF
43
44
45 done_testing;