Bug 10298: Adapt existing code
[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 t::lib::Mocks::mock_preference('SearchEngine', '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 t::lib::Mocks::mock_preference('SearchEngine', '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
43
44 done_testing;