|
Lines 17-23
Link Here
|
| 17 |
|
17 |
|
| 18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
| 19 |
|
19 |
|
| 20 |
use Test::More tests => 4; |
20 |
use Test::More tests => 5; |
| 21 |
use Test::Mojo; |
21 |
use Test::Mojo; |
| 22 |
use t::lib::TestBuilder; |
22 |
use t::lib::TestBuilder; |
| 23 |
use t::lib::Mocks; |
23 |
use t::lib::Mocks; |
|
Lines 26-31
use DateTime;
Link Here
|
| 26 |
|
26 |
|
| 27 |
use C4::Context; |
27 |
use C4::Context; |
| 28 |
use C4::Reserves; |
28 |
use C4::Reserves; |
|
|
29 |
use C4::Items; |
| 29 |
|
30 |
|
| 30 |
use Koha::Database; |
31 |
use Koha::Database; |
| 31 |
use Koha::Biblios; |
32 |
use Koha::Biblios; |
|
Lines 48-53
my $tx;
Link Here
|
| 48 |
|
49 |
|
| 49 |
my $categorycode = $builder->build({ source => 'Category' })->{categorycode}; |
50 |
my $categorycode = $builder->build({ source => 'Category' })->{categorycode}; |
| 50 |
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode}; |
51 |
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode}; |
|
|
52 |
my $itemtype = $builder->build({ source => 'Itemtype' })->{itemtype}; |
| 51 |
|
53 |
|
| 52 |
# User without any permissions |
54 |
# User without any permissions |
| 53 |
my $nopermission = $builder->build({ |
55 |
my $nopermission = $builder->build({ |
|
Lines 122-131
$session3->param('lasttime', time());
Link Here
|
| 122 |
$session3->flush; |
124 |
$session3->flush; |
| 123 |
|
125 |
|
| 124 |
my $biblionumber = create_biblio('RESTful Web APIs'); |
126 |
my $biblionumber = create_biblio('RESTful Web APIs'); |
| 125 |
my $itemnumber = create_item($biblionumber, 'TEST000001'); |
127 |
my $item = create_item($biblionumber, 'TEST000001'); |
|
|
128 |
my $itemnumber = $item->{itemnumber}; |
| 129 |
$item->{itype} = $itemtype; |
| 130 |
C4::Items::ModItem($item, $biblionumber, $itemnumber); |
| 126 |
|
131 |
|
| 127 |
my $biblionumber2 = create_biblio('RESTful Web APIs'); |
132 |
my $biblionumber2 = create_biblio('RESTful Web APIs'); |
| 128 |
my $itemnumber2 = create_item($biblionumber2, 'TEST000002'); |
133 |
my $item2 = create_item($biblionumber2, 'TEST000002'); |
|
|
134 |
my $itemnumber2 = $item2->{itemnumber}; |
| 129 |
|
135 |
|
| 130 |
my $dbh = C4::Context->dbh; |
136 |
my $dbh = C4::Context->dbh; |
| 131 |
$dbh->do('DELETE FROM reserves'); |
137 |
$dbh->do('DELETE FROM reserves'); |
|
Lines 318-323
subtest "Test endpoints with permission" => sub {
Link Here
|
| 318 |
->json_like('/error', qr/tooManyReserves/); |
324 |
->json_like('/error', qr/tooManyReserves/); |
| 319 |
}; |
325 |
}; |
| 320 |
|
326 |
|
|
|
327 |
|
| 328 |
subtest 'Reserves with itemtype' => sub { |
| 329 |
plan tests => 9; |
| 330 |
|
| 331 |
my $post_data = { |
| 332 |
borrowernumber => int($patron_1->borrowernumber), |
| 333 |
biblionumber => int($biblionumber), |
| 334 |
branchcode => $branchcode, |
| 335 |
itemtype => $itemtype, |
| 336 |
}; |
| 337 |
|
| 338 |
$tx = $t->ua->build_tx(DELETE => "/api/v1/holds/$reserve_id"); |
| 339 |
$tx->req->cookies({name => 'CGISESSID', value => $session3->id}); |
| 340 |
$t->request_ok($tx) |
| 341 |
->status_is(200); |
| 342 |
|
| 343 |
$tx = $t->ua->build_tx(POST => "/api/v1/holds" => json => $post_data); |
| 344 |
$tx->req->cookies({name => 'CGISESSID', value => $session3->id}); |
| 345 |
$t->request_ok($tx) |
| 346 |
->status_is(201) |
| 347 |
->json_has('/reserve_id'); |
| 348 |
|
| 349 |
$reserve_id = $t->tx->res->json->{reserve_id}; |
| 350 |
|
| 351 |
$tx = $t->ua->build_tx(GET => "/api/v1/holds?borrowernumber=" . $patron_1->borrowernumber); |
| 352 |
$tx->req->cookies({name => 'CGISESSID', value => $session->id}); |
| 353 |
$t->request_ok($tx) |
| 354 |
->status_is(200) |
| 355 |
->json_is('/0/reserve_id', $reserve_id) |
| 356 |
->json_is('/0/itemtype', $itemtype); |
| 357 |
}; |
| 358 |
|
| 321 |
$schema->storage->txn_rollback; |
359 |
$schema->storage->txn_rollback; |
| 322 |
|
360 |
|
| 323 |
sub create_biblio { |
361 |
sub create_biblio { |
|
Lines 344-348
sub create_item {
Link Here
|
| 344 |
} |
382 |
} |
| 345 |
); |
383 |
); |
| 346 |
|
384 |
|
| 347 |
return $item->{itemnumber}; |
385 |
return $item; |
| 348 |
} |
386 |
} |
| 349 |
- |
|
|