Lines 40-45
get '/cities' => sub {
Link Here
|
40 |
$c->render( status => 200, json => $cities ); |
40 |
$c->render( status => 200, json => $cities ); |
41 |
}; |
41 |
}; |
42 |
|
42 |
|
|
|
43 |
get '/cities/:city_id' => sub { |
44 |
my $c = shift; |
45 |
my $id = $c->stash("city_id"); |
46 |
my $city = $c->objects->find(Koha::Cities->new, $id); |
47 |
$c->render( status => 200, json => $city ); |
48 |
}; |
49 |
|
43 |
get '/orders' => sub { |
50 |
get '/orders' => sub { |
44 |
my $c = shift; |
51 |
my $c = shift; |
45 |
$c->stash('koha.embed', ( { fund => {} } ) ); |
52 |
$c->stash('koha.embed', ( { fund => {} } ) ); |
Lines 48-53
get '/orders' => sub {
Link Here
|
48 |
$c->render( status => 200, json => $orders ); |
55 |
$c->render( status => 200, json => $orders ); |
49 |
}; |
56 |
}; |
50 |
|
57 |
|
|
|
58 |
get '/orders/:order_id' => sub { |
59 |
my $c = shift; |
60 |
$c->stash('koha.embed', ( { fund => {} } ) ); |
61 |
my $id = $c->stash("order_id"); |
62 |
my $order = $c->objects->find(Koha::Acquisition::Orders->new, $id); |
63 |
$c->render( status => 200, json => $order ); |
64 |
}; |
65 |
|
51 |
get '/patrons/:patron_id/holds' => sub { |
66 |
get '/patrons/:patron_id/holds' => sub { |
52 |
my $c = shift; |
67 |
my $c = shift; |
53 |
my $params = $c->req->params->to_hash; |
68 |
my $params = $c->req->params->to_hash; |
Lines 79-85
get '/biblios' => sub {
Link Here
|
79 |
|
94 |
|
80 |
|
95 |
|
81 |
# The tests |
96 |
# The tests |
82 |
use Test::More tests => 11; |
97 |
use Test::More tests => 14; |
83 |
use Test::Mojo; |
98 |
use Test::Mojo; |
84 |
|
99 |
|
85 |
use t::lib::Mocks; |
100 |
use t::lib::Mocks; |
Lines 209-214
subtest 'objects.search helper' => sub {
Link Here
|
209 |
$schema->storage->txn_rollback; |
224 |
$schema->storage->txn_rollback; |
210 |
}; |
225 |
}; |
211 |
|
226 |
|
|
|
227 |
subtest 'objects.find helper' => sub { |
228 |
plan tests => 6; |
229 |
|
230 |
$schema->storage->txn_begin; |
231 |
|
232 |
Koha::Cities->delete; |
233 |
|
234 |
my $city1 = $builder->build_object({ class => 'Koha::Cities' }); |
235 |
my $city2 = $builder->build_object({ class => 'Koha::Cities' }); |
236 |
|
237 |
$t->get_ok('/cities/'.$city1->cityid) |
238 |
->status_is(200) |
239 |
->json_is('/name' => $city1->city_name); |
240 |
|
241 |
$t->get_ok('/cities/'.$city2->cityid) |
242 |
->status_is(200) |
243 |
->json_is('/name' => $city2->city_name); |
244 |
|
245 |
$schema->storage->txn_rollback; |
246 |
|
247 |
}; |
248 |
|
212 |
subtest 'objects.search helper, sorting on mapped column' => sub { |
249 |
subtest 'objects.search helper, sorting on mapped column' => sub { |
213 |
|
250 |
|
214 |
plan tests => 14; |
251 |
plan tests => 14; |
Lines 274-279
subtest 'objects.search helper, embed' => sub {
Link Here
|
274 |
$schema->storage->txn_rollback; |
311 |
$schema->storage->txn_rollback; |
275 |
}; |
312 |
}; |
276 |
|
313 |
|
|
|
314 |
subtest 'objects.find helper, embed' => sub { |
315 |
|
316 |
plan tests => 2; |
317 |
|
318 |
$schema->storage->txn_begin; |
319 |
|
320 |
my $order = $builder->build_object({ class => 'Koha::Acquisition::Orders' }); |
321 |
|
322 |
$t->get_ok('/orders/' . $order->ordernumber) |
323 |
->json_is('',$order->to_api({ embed => ( { fund => {} } ) })); |
324 |
|
325 |
$schema->storage->txn_rollback; |
326 |
}; |
327 |
|
277 |
subtest 'objects.search helper, with path parameters and _match' => sub { |
328 |
subtest 'objects.search helper, with path parameters and _match' => sub { |
278 |
plan tests => 8; |
329 |
plan tests => 8; |
279 |
|
330 |
|
Lines 471-475
subtest 'objects.search helper with expanded authorised values' => sub {
Link Here
|
471 |
->json_has('/1/_authorised_values') |
522 |
->json_has('/1/_authorised_values') |
472 |
->json_is('/1/_authorised_values/country/lib' => $us->lib); |
523 |
->json_is('/1/_authorised_values/country/lib' => $us->lib); |
473 |
|
524 |
|
|
|
525 |
$schema->storage->txn_rollback; |
526 |
}; |
527 |
|
528 |
subtest 'objects.find helper with expanded authorised values' => sub { |
529 |
plan tests => 10; |
530 |
|
531 |
$schema->storage->txn_begin; |
532 |
|
533 |
Koha::AuthorisedValues->search({category => 'Countries'})->delete; |
534 |
Koha::AuthorisedValueCategories->search({category_name =>'Countries'})->delete; |
535 |
|
536 |
my $cat = $builder->build_object({ class => 'Koha::AuthorisedValueCategories', value => {category_name =>'Countries'} }); |
537 |
my $fr = $builder->build_object({ class => 'Koha::AuthorisedValues', value => {authorised_value => 'FR', lib=>'France', category=>$cat->category_name} }); |
538 |
my $us = $builder->build_object({ class => 'Koha::AuthorisedValues', value => {authorised_value => 'US', lib=>'United States of America', category=>$cat->category_name} }); |
539 |
my $ar = $builder->build_object({ class => 'Koha::AuthorisedValues', value => {authorised_value => 'AR', lib=>'Argentina', category=>$cat->category_name} }); |
540 |
|
541 |
my $city_class = Test::MockModule->new('Koha::City'); |
542 |
$city_class->mock( '_fetch_authorised_values', |
543 |
sub { |
544 |
my ($self) = @_; |
545 |
use Koha::AuthorisedValues; |
546 |
my $av = Koha::AuthorisedValues->find({authorised_value => $self->city_country, category => 'Countries'}); |
547 |
return {country => $av->unblessed}; |
548 |
} |
549 |
); |
550 |
|
551 |
my $manuel = $builder->build_object({ |
552 |
class => 'Koha::Cities', |
553 |
value => { |
554 |
city_name => 'Manuel', |
555 |
city_country => 'AR' |
556 |
} |
557 |
}); |
558 |
my $manuela = $builder->build_object({ |
559 |
class => 'Koha::Cities', |
560 |
value => { |
561 |
city_name => 'Manuela', |
562 |
city_country => 'US' |
563 |
} |
564 |
}); |
565 |
|
566 |
$t->get_ok('/cities/'.$manuel->cityid => { 'x-koha-av' => 1 }) |
567 |
->status_is(200) |
568 |
->json_is('/name' => 'Manuel') |
569 |
->json_has('/_authorised_values') |
570 |
->json_is('/_authorised_values/country/lib' => $ar->lib); |
571 |
|
572 |
$t->get_ok('/cities/'.$manuela->cityid => { 'x-koha-av' => 1 }) |
573 |
->status_is(200) |
574 |
->json_is('/name' => 'Manuela') |
575 |
->json_has('/_authorised_values') |
576 |
->json_is('/_authorised_values/country/lib' => $us->lib); |
577 |
|
474 |
$schema->storage->txn_rollback; |
578 |
$schema->storage->txn_rollback; |
475 |
}; |
579 |
}; |
476 |
- |
|
|