|
Lines 22-33
use Test::Exception;
Link Here
|
| 22 |
use Test::Warn; |
22 |
use Test::Warn; |
| 23 |
use t::lib::Mocks; |
23 |
use t::lib::Mocks; |
| 24 |
use t::lib::TestBuilder; |
24 |
use t::lib::TestBuilder; |
| 25 |
use Test::More tests => 7; |
25 |
use Test::More tests => 8; |
| 26 |
|
26 |
|
| 27 |
use List::Util qw( all ); |
27 |
use List::Util qw( all ); |
| 28 |
|
28 |
|
| 29 |
use Koha::Database; |
29 |
use Koha::Database; |
| 30 |
use Koha::SearchEngine::Elasticsearch::QueryBuilder; |
30 |
use Koha::SearchEngine::Elasticsearch::QueryBuilder; |
|
|
31 |
use Koha::SearchFilters; |
| 31 |
|
32 |
|
| 32 |
my $schema = Koha::Database->new->schema; |
33 |
my $schema = Koha::Database->new->schema; |
| 33 |
$schema->storage->txn_begin; |
34 |
$schema->storage->txn_begin; |
|
Lines 760-765
subtest 'build_query_compat() SearchLimitLibrary tests' => sub {
Link Here
|
| 760 |
|
761 |
|
| 761 |
}; |
762 |
}; |
| 762 |
|
763 |
|
|
|
764 |
subtest "Handle search filters" => sub { |
| 765 |
plan tests => 4; |
| 766 |
|
| 767 |
my $qb; |
| 768 |
|
| 769 |
ok( |
| 770 |
$qb = Koha::SearchEngine::Elasticsearch::QueryBuilder->new({ 'index' => 'biblios' }), |
| 771 |
'Creating new query builder object for biblios' |
| 772 |
); |
| 773 |
|
| 774 |
my $filter = Koha::SearchFilter->new({ |
| 775 |
name => "test", |
| 776 |
query => q|{"operands":["cat","bat","rat"],"indexes":["kw","ti","au"],"operators":["AND","OR"]}|, |
| 777 |
limits => q|{"limits":["mc-itype,phr:BK","available"]}|, |
| 778 |
})->store; |
| 779 |
my $filter_id = $filter->id; |
| 780 |
|
| 781 |
my ( undef, undef, undef, undef, undef, $limit, $limit_cgi, $limit_desc ) = $qb->build_query_compat( undef, undef, undef, ["search_filter:$filter_id"] ); |
| 782 |
|
| 783 |
is( $limit,q{(itype:("BK")) AND (onloan:false) AND (((cat) AND title:(bat) OR author:(rat)))},"Limit correctly formed"); |
| 784 |
is( $limit_cgi,"&limit=search_filter%3A$filter_id","CGI limit is not expanded"); |
| 785 |
is( $limit_desc,q{(itype:("BK")) AND (onloan:false) AND (((cat) AND title:(bat) OR author:(rat)))},"Limit description is correctly expanded"); |
| 786 |
|
| 787 |
}; |
| 788 |
|
| 763 |
subtest "_convert_sort_fields() tests" => sub { |
789 |
subtest "_convert_sort_fields() tests" => sub { |
| 764 |
plan tests => 3; |
790 |
plan tests => 3; |
| 765 |
|
791 |
|