|
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::DateUtils; |
32 |
use Koha::DateUtils; |
|
Lines 49-54
my $tx;
Link Here
|
| 49 |
|
50 |
|
| 50 |
my $categorycode = $builder->build({ source => 'Category' })->{categorycode}; |
51 |
my $categorycode = $builder->build({ source => 'Category' })->{categorycode}; |
| 51 |
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode}; |
52 |
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode}; |
|
|
53 |
my $itemtype = $builder->build({ source => 'Itemtype' })->{itemtype}; |
| 52 |
|
54 |
|
| 53 |
# User without any permissions |
55 |
# User without any permissions |
| 54 |
my $nopermission = $builder->build({ |
56 |
my $nopermission = $builder->build({ |
|
Lines 123-132
$session3->param('lasttime', time());
Link Here
|
| 123 |
$session3->flush; |
125 |
$session3->flush; |
| 124 |
|
126 |
|
| 125 |
my $biblionumber = create_biblio('RESTful Web APIs'); |
127 |
my $biblionumber = create_biblio('RESTful Web APIs'); |
| 126 |
my $itemnumber = create_item($biblionumber, 'TEST000001'); |
128 |
my $item = create_item($biblionumber, 'TEST000001'); |
|
|
129 |
my $itemnumber = $item->{itemnumber}; |
| 130 |
$item->{itype} = $itemtype; |
| 131 |
C4::Items::ModItem($item, $biblionumber, $itemnumber); |
| 127 |
|
132 |
|
| 128 |
my $biblionumber2 = create_biblio('RESTful Web APIs'); |
133 |
my $biblionumber2 = create_biblio('RESTful Web APIs'); |
| 129 |
my $itemnumber2 = create_item($biblionumber2, 'TEST000002'); |
134 |
my $item2 = create_item($biblionumber2, 'TEST000002'); |
|
|
135 |
my $itemnumber2 = $item2->{itemnumber}; |
| 130 |
|
136 |
|
| 131 |
my $dbh = C4::Context->dbh; |
137 |
my $dbh = C4::Context->dbh; |
| 132 |
$dbh->do('DELETE FROM reserves'); |
138 |
$dbh->do('DELETE FROM reserves'); |
|
Lines 331-336
subtest "Test endpoints with permission" => sub {
Link Here
|
| 331 |
->json_like('/error', qr/tooManyReserves/); |
337 |
->json_like('/error', qr/tooManyReserves/); |
| 332 |
}; |
338 |
}; |
| 333 |
|
339 |
|
|
|
340 |
|
| 341 |
subtest 'Reserves with itemtype' => sub { |
| 342 |
plan tests => 9; |
| 343 |
|
| 344 |
my $post_data = { |
| 345 |
borrowernumber => int($patron_1->borrowernumber), |
| 346 |
biblionumber => int($biblionumber), |
| 347 |
branchcode => $branchcode, |
| 348 |
itemtype => $itemtype, |
| 349 |
}; |
| 350 |
|
| 351 |
$tx = $t->ua->build_tx(DELETE => "/api/v1/holds/$reserve_id"); |
| 352 |
$tx->req->cookies({name => 'CGISESSID', value => $session3->id}); |
| 353 |
$t->request_ok($tx) |
| 354 |
->status_is(200); |
| 355 |
|
| 356 |
$tx = $t->ua->build_tx(POST => "/api/v1/holds" => json => $post_data); |
| 357 |
$tx->req->cookies({name => 'CGISESSID', value => $session3->id}); |
| 358 |
$t->request_ok($tx) |
| 359 |
->status_is(201) |
| 360 |
->json_has('/reserve_id'); |
| 361 |
|
| 362 |
$reserve_id = $t->tx->res->json->{reserve_id}; |
| 363 |
|
| 364 |
$tx = $t->ua->build_tx(GET => "/api/v1/holds?borrowernumber=" . $patron_1->borrowernumber); |
| 365 |
$tx->req->cookies({name => 'CGISESSID', value => $session->id}); |
| 366 |
$t->request_ok($tx) |
| 367 |
->status_is(200) |
| 368 |
->json_is('/0/reserve_id', $reserve_id) |
| 369 |
->json_is('/0/itemtype', $itemtype); |
| 370 |
}; |
| 371 |
|
| 334 |
$schema->storage->txn_rollback; |
372 |
$schema->storage->txn_rollback; |
| 335 |
|
373 |
|
| 336 |
sub create_biblio { |
374 |
sub create_biblio { |
|
Lines 357-361
sub create_item {
Link Here
|
| 357 |
} |
395 |
} |
| 358 |
); |
396 |
); |
| 359 |
|
397 |
|
| 360 |
return $item->{itemnumber}; |
398 |
return $item; |
| 361 |
} |
399 |
} |
| 362 |
- |
|
|