|
Lines 336-353
subtest 'get_availability' => sub {
Link Here
|
| 336 |
%needsconfirmation = (); |
336 |
%needsconfirmation = (); |
| 337 |
|
337 |
|
| 338 |
subtest 'public availability' => sub { |
338 |
subtest 'public availability' => sub { |
| 339 |
plan tests => 18; |
339 |
plan tests => 22; |
| 340 |
|
340 |
|
| 341 |
# Available, Not authentication required |
341 |
# Authentication required |
| 342 |
$t->get_ok("/api/v1/public/checkouts/availability?item_id=$item1_id&patron_id=$patron_id")->status_is(200) |
342 |
$t->get_ok("/api/v1/public/checkouts/availability?item_id=$item1_id&patron_id=$patron_id")->status_is(401); |
| 343 |
->json_is( '/blockers' => {} )->json_is( '/confirms' => {} )->json_is( '/warnings' => {} ) |
343 |
|
|
|
344 |
# Only allow availability lookup for self |
| 345 |
$t->get_ok( |
| 346 |
"//$userid:$password@/api/v1/public/checkouts/availability?item_id=$item1_id&patron_id=$patron_id" |
| 347 |
)->status_is(403); |
| 348 |
|
| 349 |
# All ok |
| 350 |
$t->get_ok( |
| 351 |
"//$unauth_userid:$unauth_password@/api/v1/public/checkouts/availability?item_id=$item1_id&patron_id=$patron_id" |
| 352 |
)->status_is(200)->json_is( '/blockers' => {} )->json_is( '/confirms' => {} )->json_is( '/warnings' => {} ) |
| 344 |
->json_has('/confirmation_token'); |
353 |
->json_has('/confirmation_token'); |
| 345 |
|
354 |
|
| 346 |
# Needs confirmation upgrade to blocker |
355 |
# Needs confirmation upgrade to blocker |
| 347 |
%needsconfirmation = ( TOO_MANY => 1, ISSUED_TO_ANOTHER => 1 ); |
356 |
%needsconfirmation = ( TOO_MANY => 1, ISSUED_TO_ANOTHER => 1 ); |
| 348 |
$t->get_ok("/api/v1/public/checkouts/availability?item_id=$item1_id&patron_id=$patron_id")->status_is(200) |
357 |
$t->get_ok( |
| 349 |
->json_is( '/blockers' => { TOO_MANY => 1, ISSUED_TO_ANOTHER => 1 } )->json_is( '/confirms' => {} ) |
358 |
"//$unauth_userid:$unauth_password@/api/v1/public/checkouts/availability?item_id=$item1_id&patron_id=$patron_id" |
| 350 |
->json_is( '/warnings' => {} )->json_has('/confirmation_token'); |
359 |
)->status_is(200)->json_is( '/blockers' => { TOO_MANY => 1, ISSUED_TO_ANOTHER => 1 } ) |
|
|
360 |
->json_is( '/confirms' => {} )->json_is( '/warnings' => {} )->json_has('/confirmation_token'); |
| 351 |
%needsconfirmation = (); |
361 |
%needsconfirmation = (); |
| 352 |
|
362 |
|
| 353 |
# Remove personal information from public endpoint |
363 |
# Remove personal information from public endpoint |
|
Lines 394-401
subtest 'get_availability' => sub {
Link Here
|
| 394 |
ressurname => 'private', |
404 |
ressurname => 'private', |
| 395 |
item_notforloan => 'private' |
405 |
item_notforloan => 'private' |
| 396 |
); |
406 |
); |
| 397 |
$t->get_ok("/api/v1/public/checkouts/availability?item_id=$item1_id&patron_id=$patron_id")->status_is(200) |
407 |
$t->get_ok( |
| 398 |
->json_is( '/blockers' => {} )->json_is( '/confirms' => {} )->json_is( '/warnings' => {} ) |
408 |
"//$unauth_userid:$unauth_password@/api/v1/public/checkouts/availability?item_id=$item1_id&patron_id=$patron_id" |
|
|
409 |
)->status_is(200)->json_is( '/blockers' => {} )->json_is( '/confirms' => {} )->json_is( '/warnings' => {} ) |
| 399 |
->json_has('/confirmation_token'); |
410 |
->json_has('/confirmation_token'); |
| 400 |
%issuingimpossible = (); |
411 |
%issuingimpossible = (); |
| 401 |
%alerts = (); |
412 |
%alerts = (); |
| 402 |
- |
|
|