Bug 26922: Regression tests
[koha.git] / t / Koha_SearchEngine_Elasticsearch_Browse.t
blob986c4ba658713f19841c496f31a29bb6e22e564d
1 #!/usr/bin/perl
3 # Copyright 2015 Catalyst IT
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
12 # Koha is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with Koha; if not, see <http://www.gnu.org/licenses>.
20 use Modern::Perl;
22 use Test::More;
24 use_ok('Koha::SearchEngine::Elasticsearch::Browse');
26 # testing browse itself not implemented as it'll require a running ES
27 can_ok('Koha::SearchEngine::Elasticsearch::Browse',
28 qw/ _build_query browse /);
30 subtest "_build_query tests" => sub {
31 plan tests => 2;
33 my $browse = Koha::SearchEngine::Elasticsearch::Browse->new({index=>'dummy'});
34 my $q = $browse->_build_query('foo', 'title');
35 is_deeply($q, { size => 1,
36 suggest => {
37 suggestions => {
38 text => 'foo',
39 completion => {
40 field => 'title__suggestion',
41 size => 500,
42 fuzzy => {
43 fuzziness => 1,
48 }, 'No fuzziness or size specified');
50 # Note that a fuzziness of 4 will get reduced to 2.
51 $q = $browse->_build_query('foo', 'title', { fuzziness => 4, count => 400 });
52 is_deeply($q, { size => 1,
53 suggest => {
54 suggestions => {
55 text => 'foo',
56 completion => {
57 field => 'title__suggestion',
58 size => 400,
59 fuzzy => {
60 fuzziness => 2,
65 }, 'Fuzziness and size specified');
68 done_testing();