|
Lines 17-22
Link Here
|
| 17 |
|
17 |
|
| 18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
| 19 |
use Koha::Cities; |
19 |
use Koha::Cities; |
|
|
20 |
use Koha::Holds; |
| 20 |
|
21 |
|
| 21 |
# Dummy app for testing the plugin |
22 |
# Dummy app for testing the plugin |
| 22 |
use Mojolicious::Lite; |
23 |
use Mojolicious::Lite; |
|
Lines 58-63
get '/cities_sorted' => sub {
Link Here
|
| 58 |
$c->render( status => 200, json => $cities ); |
59 |
$c->render( status => 200, json => $cities ); |
| 59 |
}; |
60 |
}; |
| 60 |
|
61 |
|
|
|
62 |
get '/patrons/:patron_id/holds' => sub { |
| 63 |
my $c = shift; |
| 64 |
my $params = $c->req->params->to_hash; |
| 65 |
$params->{patron_id} = $c->stash("patron_id"); |
| 66 |
$c->validation->output($params); |
| 67 |
my $holds_set = Koha::Holds->new; |
| 68 |
my $holds = $c->objects->search( $holds_set ); |
| 69 |
$c->render( status => 200, json => {count => scalar(@$holds)} ); |
| 70 |
}; |
| 71 |
|
| 61 |
sub to_model { |
72 |
sub to_model { |
| 62 |
my $params = shift; |
73 |
my $params = shift; |
| 63 |
|
74 |
|
|
Lines 79-93
sub to_api {
Link Here
|
| 79 |
} |
90 |
} |
| 80 |
|
91 |
|
| 81 |
# The tests |
92 |
# The tests |
| 82 |
use Test::More tests => 2; |
93 |
use Test::More tests => 3; |
| 83 |
use Test::Mojo; |
94 |
use Test::Mojo; |
| 84 |
|
95 |
|
| 85 |
use t::lib::TestBuilder; |
96 |
use t::lib::TestBuilder; |
| 86 |
use Koha::Database; |
97 |
use Koha::Database; |
| 87 |
|
98 |
|
| 88 |
my $schema = Koha::Database->new()->schema(); |
99 |
my $schema = Koha::Database->new->schema; |
| 89 |
|
|
|
| 90 |
|
| 91 |
my $builder = t::lib::TestBuilder->new; |
100 |
my $builder = t::lib::TestBuilder->new; |
| 92 |
|
101 |
|
| 93 |
subtest 'objects.search helper' => sub { |
102 |
subtest 'objects.search helper' => sub { |
|
Lines 273-276
subtest 'objects.search helper, sorting on mapped column' => sub {
Link Here
|
| 273 |
->json_is('/1/nombre' => 'A'); |
282 |
->json_is('/1/nombre' => 'A'); |
| 274 |
|
283 |
|
| 275 |
$schema->storage->txn_rollback; |
284 |
$schema->storage->txn_rollback; |
| 276 |
} |
285 |
}; |
|
|
286 |
|
| 287 |
subtest 'objects.search helper, with path parameters and _match' => sub { |
| 288 |
plan tests => 4; |
| 289 |
|
| 290 |
$schema->storage->txn_begin; |
| 291 |
|
| 292 |
Koha::Holds->search()->delete; |
| 293 |
|
| 294 |
$builder->build_object({class=>"Koha::Holds", value => {borrowernumber => 10 }}); |
| 295 |
|
| 296 |
$t->get_ok('/patrons/1/holds?_match=exact') |
| 297 |
->json_is('/count' => 0, 'there should be no holds for borrower 1 with _match=exact'); |
| 298 |
|
| 299 |
$t->get_ok('/patrons/1/holds?_match=contains') |
| 300 |
->json_is('/count' => 0, 'there should be no holds for borrower 1 with _match=contains'); |
| 301 |
|
| 302 |
$schema->storage->txn_rollback; |
| 303 |
}; |
| 277 |
- |
|
|