View | Details | Raw Unified | Return to bug 39020
Collapse All | Expand All

(-)a/t/db_dependent/Koha/SearchFilters.t (-5 / +26 lines)
Lines 20-25 Link Here
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Test::More tests => 4;
22
use Test::More tests => 4;
23
use JSON qw( encode_json );
23
24
24
use Koha::Database;
25
use Koha::Database;
25
use Koha::SearchFilters;
26
use Koha::SearchFilters;
Lines 30-36 use t::lib::TestBuilder; Link Here
30
my $schema = Koha::Database->new->schema;
31
my $schema = Koha::Database->new->schema;
31
$schema->storage->txn_begin;
32
$schema->storage->txn_begin;
32
33
33
my $original_count = Koha::SearchFilters->count();
34
my $original_count      = Koha::SearchFilters->search->count();
35
my $original_count_opac = Koha::SearchFilters->search( { opac => 1 } )->count();
34
36
35
my $search_filter = Koha::SearchFilter->new(
37
my $search_filter = Koha::SearchFilter->new(
36
    {
38
    {
Lines 44-61 my $search_filter = Koha::SearchFilter->new( Link Here
44
46
45
is( Koha::SearchFilters->search()->count(), $original_count + 1, "New filter is added" );
47
is( Koha::SearchFilters->search()->count(), $original_count + 1, "New filter is added" );
46
is(
48
is(
47
    Koha::SearchFilters->search( { opac => 1 } )->count(), $original_count + 1,
49
    Koha::SearchFilters->search( { opac => 1 } )->count(), $original_count_opac + 1,
48
    "Searching by opac returns the filter if set"
50
    "Searching by opac returns the filter if set"
49
);
51
);
50
$search_filter->opac(0)->store();
52
$search_filter->opac(0)->store();
51
is(
53
is(
52
    Koha::SearchFilters->search( { opac => 1 } )->count(), $original_count,
54
    Koha::SearchFilters->search( { opac => 1 } )->count(), $original_count_opac,
53
    "Searching by opac doesn't return the filter if not set"
55
    "Searching by opac doesn't return the filter if not set"
54
);
56
);
55
57
56
subtest 'expand_filter tests' => sub {
58
subtest 'expand_filter tests' => sub {
57
59
58
    plan tests => 2;
60
    plan tests => 4;
59
61
60
    my $search_filter = Koha::SearchFilter->new(
62
    my $search_filter = Koha::SearchFilter->new(
61
        {
63
        {
Lines 72-77 subtest 'expand_filter tests' => sub { Link Here
72
    is_deeply( $limits, [ 'mc-itype,phr:BK', 'fic:0' ], "Limit from filter is correctly expanded" );
74
    is_deeply( $limits, [ 'mc-itype,phr:BK', 'fic:0' ], "Limit from filter is correctly expanded" );
73
    is( $query_limit, '(su=(programming) OR su=(internet))', "Query from filter is correctly expanded and grouped" );
75
    is( $query_limit, '(su=(programming) OR su=(internet))', "Query from filter is correctly expanded and grouped" );
74
76
77
    my $empty_query = {
78
        indexes   => [ ("kw") x 3 ],
79
        operands  => [ ("") x 3 ],
80
        operators => [],
81
    };
82
    $search_filter = Koha::SearchFilter->new(
83
        {
84
            name         => "Test",
85
            query        => encode_json($empty_query),
86
            limits       => q|{"limits":["mc-itype,phr:BK","fic:0"]}|,
87
            opac         => 1,
88
            staff_client => 1
89
        }
90
    )->store;
91
92
    ( $limits, $query_limit ) = $search_filter->expand_filter();
93
94
    is_deeply( $limits, [ 'mc-itype,phr:BK', 'fic:0' ], "Limit from filter is correctly expanded" );
95
    is( $query_limit, '', "Empty query does not generate anything" );
96
75
};
97
};
76
98
77
$schema->storage->txn_rollback;
99
$schema->storage->txn_rollback;
78
- 

Return to bug 39020