Lines 159-169
my $post_data = {
Link Here
|
159 |
biblio_id => $biblio_1->biblionumber, |
159 |
biblio_id => $biblio_1->biblionumber, |
160 |
item_id => $item_1->itemnumber, |
160 |
item_id => $item_1->itemnumber, |
161 |
pickup_library_id => $branchcode, |
161 |
pickup_library_id => $branchcode, |
162 |
expiration_date => output_pref( { dt => $expiration_date, dateformat => 'rfc3339', dateonly => 1 } ), |
162 |
expiration_date => output_pref( { dt => $expiration_date, dateformat => 'iso', dateonly => 1 } ), |
163 |
}; |
163 |
}; |
164 |
my $patch_data = { |
164 |
my $patch_data = { |
165 |
priority => 2, |
165 |
priority => 2, |
166 |
suspended_until => output_pref( { dt => $suspended_until, dateformat => 'rfc3339' } ), |
166 |
suspended_until => output_pref( { dt => $suspended_until, dateformat => 'iso', dateonly => 1 } ), |
167 |
}; |
167 |
}; |
168 |
|
168 |
|
169 |
subtest "Test endpoints without authentication" => sub { |
169 |
subtest "Test endpoints without authentication" => sub { |
Lines 254-260
subtest "Test endpoints with permission" => sub {
Link Here
|
254 |
$t->get_ok( "//$userid_1:$password@/api/v1/holds?patron_id=" . $patron_1->borrowernumber ) |
254 |
$t->get_ok( "//$userid_1:$password@/api/v1/holds?patron_id=" . $patron_1->borrowernumber ) |
255 |
->status_is(200) |
255 |
->status_is(200) |
256 |
->json_is('/0/hold_id', $reserve_id) |
256 |
->json_is('/0/hold_id', $reserve_id) |
257 |
->json_is('/0/expiration_date', output_pref({ dt => $expiration_date, dateformat => 'rfc3339', dateonly => 1 })) |
257 |
->json_is('/0/expiration_date', output_pref({ dt => $expiration_date, dateformat => 'iso', dateonly => 1 })) |
258 |
->json_is('/0/pickup_library_id', $branchcode); |
258 |
->json_is('/0/pickup_library_id', $branchcode); |
259 |
|
259 |
|
260 |
$t->post_ok( "//$userid_3:$password@/api/v1/holds" => json => $post_data ) |
260 |
$t->post_ok( "//$userid_3:$password@/api/v1/holds" => json => $post_data ) |
Lines 329-336
subtest 'test AllowHoldDateInFuture' => sub {
Link Here
|
329 |
biblio_id => $biblio_1->biblionumber, |
329 |
biblio_id => $biblio_1->biblionumber, |
330 |
item_id => $item_1->itemnumber, |
330 |
item_id => $item_1->itemnumber, |
331 |
pickup_library_id => $branchcode, |
331 |
pickup_library_id => $branchcode, |
332 |
expiration_date => output_pref( { dt => $expiration_date, dateformat => 'rfc3339', dateonly => 1 } ), |
332 |
expiration_date => output_pref( { dt => $expiration_date, dateformat => 'iso', dateonly => 1 } ), |
333 |
hold_date => output_pref( { dt => $future_hold_date, dateformat => 'rfc3339', dateonly => 1 } ), |
333 |
hold_date => output_pref( { dt => $future_hold_date, dateformat => 'iso', dateonly => 1 } ), |
334 |
}; |
334 |
}; |
335 |
|
335 |
|
336 |
t::lib::Mocks::mock_preference( 'AllowHoldDateInFuture', 0 ); |
336 |
t::lib::Mocks::mock_preference( 'AllowHoldDateInFuture', 0 ); |
Lines 349-355
subtest 'test AllowHoldDateInFuture' => sub {
Link Here
|
349 |
|
349 |
|
350 |
$t->post_ok( "//$userid_3:$password@/api/v1/holds" => json => $post_data ) |
350 |
$t->post_ok( "//$userid_3:$password@/api/v1/holds" => json => $post_data ) |
351 |
->status_is(201) |
351 |
->status_is(201) |
352 |
->json_is('/hold_date', output_pref({ dt => $future_hold_date, dateformat => 'rfc3339', dateonly => 1 })); |
352 |
->json_is('/hold_date', output_pref({ dt => $future_hold_date, dateformat => 'iso', dateonly => 1 })); |
353 |
}; |
353 |
}; |
354 |
|
354 |
|
355 |
$schema->storage->txn_rollback; |
355 |
$schema->storage->txn_rollback; |
Lines 486-492
subtest 'suspend and resume tests' => sub {
Link Here
|
486 |
|
486 |
|
487 |
my $end_date = output_pref({ |
487 |
my $end_date = output_pref({ |
488 |
dt => dt_from_string( undef ), |
488 |
dt => dt_from_string( undef ), |
489 |
dateformat => 'rfc3339', |
489 |
dateformat => 'iso', |
490 |
dateonly => 1 |
490 |
dateonly => 1 |
491 |
}); |
491 |
}); |
492 |
|
492 |
|
Lines 499-505
subtest 'suspend and resume tests' => sub {
Link Here
|
499 |
'/end_date', |
499 |
'/end_date', |
500 |
output_pref({ |
500 |
output_pref({ |
501 |
dt => dt_from_string( $hold->suspend_until ), |
501 |
dt => dt_from_string( $hold->suspend_until ), |
502 |
dateformat => 'rfc3339', |
502 |
dateformat => 'iso', |
503 |
dateonly => 1 |
503 |
dateonly => 1 |
504 |
}), |
504 |
}), |
505 |
'Hold suspension has correct end date' |
505 |
'Hold suspension has correct end date' |
Lines 516-526
subtest 'suspend and resume tests' => sub {
Link Here
|
516 |
. $hold->id |
516 |
. $hold->id |
517 |
. "/suspension" => json => { |
517 |
. "/suspension" => json => { |
518 |
end_date => |
518 |
end_date => |
519 |
output_pref( { dt => $date, dateformat => 'rfc3339', dateonly => 1 } ) |
519 |
output_pref( { dt => $date, dateformat => 'iso', dateonly => 1 } ) |
520 |
} |
520 |
} |
521 |
)->status_is( 201, 'Hold suspension created' ) |
521 |
)->status_is( 201, 'Hold suspension created' ) |
522 |
->json_is( '/end_date', |
522 |
->json_is( '/end_date', |
523 |
output_pref( { dt => $date, dateformat => 'rfc3339', dateonly => 1 } ) ) |
523 |
output_pref( { dt => $date, dateformat => 'iso', dateonly => 1 } ) ) |
524 |
->header_is( Location => "/api/v1/holds/" . $hold->id . "/suspension", 'The Location header is set' ); |
524 |
->header_is( Location => "/api/v1/holds/" . $hold->id . "/suspension", 'The Location header is set' ); |
525 |
|
525 |
|
526 |
$t->delete_ok( "//$userid:$password@/api/v1/holds/" . $hold->id . "/suspension" ) |
526 |
$t->delete_ok( "//$userid:$password@/api/v1/holds/" . $hold->id . "/suspension" ) |
527 |
- |
|
|