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

(-)a/t/Koha/REST/Plugin/Query.t (-2 / +53 lines)
Lines 206-211 get '/build_query' => sub { Link Here
206
    };
206
    };
207
};
207
};
208
208
209
get '/dbic_validate_operators' => sub {
210
    my ( $c, $args ) = @_;
211
212
    my $query = $c->req->json->{q};
213
214
    return try {
215
        $c->dbic_validate_operators( { filtered_params => $query } );
216
        $c->render( json => { filtered_params => $query }, status => 200 );
217
    } catch {
218
        return $c->render( json => { filtered_params => $query }, status => 400 );
219
    };
220
};
221
209
get '/stash_embed' => sub {
222
get '/stash_embed' => sub {
210
    my $c = shift;
223
    my $c = shift;
211
224
Lines 294-300 sub to_model { Link Here
294
307
295
# The tests
308
# The tests
296
309
297
use Test::More tests => 7;
310
use Test::More tests => 8;
298
use Test::Mojo;
311
use Test::Mojo;
299
312
300
subtest 'extract_reserved_params() tests' => sub {
313
subtest 'extract_reserved_params() tests' => sub {
Lines 543-545 subtest 'stash_overrides() tests' => sub { Link Here
543
      ->json_is( {} ); # x-koha-ovverride not passed is skipped
556
      ->json_is( {} ); # x-koha-ovverride not passed is skipped
544
557
545
};
558
};
546
- 
559
560
subtest 'dbic_validate_operators' => sub {
561
    plan tests => 16;
562
563
    my $t = Test::Mojo->new;
564
565
    # Valid queries
566
    my $q = {};
567
    $t->get_ok( '/dbic_validate_operators' => json => { q => $q } )->status_is(200);
568
569
    $q = [];
570
    $t->get_ok( '/dbic_validate_operators' => json => { q => $q } )->status_is(200);
571
572
    $q = {
573
        firstname => 'Bilbo',
574
        lastname  => 'Baggins'
575
    };
576
    $t->get_ok( '/dbic_validate_operators' => json => { q => $q } )->status_is(200);
577
578
    $q = {
579
        firstname => undef,
580
        lastname  => 'Baggins'
581
    };
582
    $t->get_ok( '/dbic_validate_operators' => json => { q => $q } )->status_is(200);
583
584
    $q = { lastname => [ 'Gaggins', 'Gamgee' ] };
585
    $t->get_ok( '/dbic_validate_operators' => json => { q => $q } )->status_is(200);
586
587
    $q = { lastname => { '!=' => [ 'Gaggins', 'Gamgee' ] } };
588
    $t->get_ok( '/dbic_validate_operators' => json => { q => $q } )->status_is(200);
589
590
    $q = { status => { '!=', 'completed', -not_like => 'pending%' } };
591
    $t->get_ok( '/dbic_validate_operators' => json => { q => $q } )->status_is(200);
592
593
    # Invalid queries
594
    $q = [ { "-and" => [ [ { "biblio_id" => { "like(sleep(1/100000))or" => "%a%" } } ] ] } ];
595
    $t->get_ok( '/dbic_validate_operators' => json => { q => $q } )->status_is(400);
596
597
};

Return to bug 37018