Lines 144-150
subtest 'get() tests' => sub {
Link Here
|
144 |
|
144 |
|
145 |
subtest 'pickup_locations() tests' => sub { |
145 |
subtest 'pickup_locations() tests' => sub { |
146 |
|
146 |
|
147 |
plan tests => 15; |
147 |
plan tests => 16; |
148 |
|
148 |
|
149 |
$schema->storage->txn_begin; |
149 |
$schema->storage->txn_begin; |
150 |
|
150 |
|
Lines 237-242
subtest 'pickup_locations() tests' => sub {
Link Here
|
237 |
. "patron_id=" . $patron->id . "&_order_by=marc_org_code" ) |
237 |
. "patron_id=" . $patron->id . "&_order_by=marc_org_code" ) |
238 |
->json_is( [ $library_1_api, $library_2_api, $library_3_api, $library_5_api ] ); |
238 |
->json_is( [ $library_1_api, $library_2_api, $library_3_api, $library_5_api ] ); |
239 |
|
239 |
|
|
|
240 |
subtest 'Pagination and AllowHoldPolicyOverride tests' => sub { |
241 |
|
242 |
plan tests => 27; |
243 |
|
244 |
t::lib::Mocks::mock_preference( 'AllowHoldPolicyOverride', 1 ); |
245 |
|
246 |
$t->get_ok( "//$userid:$password@/api/v1/items/" . $item->id . "/pickup_locations?" . "patron_id=" . $patron->id . "&_order_by=marc_org_code" . "&_per_page=1" ) |
247 |
->json_is( [$library_1_api] ) |
248 |
->header_is( 'X-Total-Count', '4', '4 is the count for libraries with pickup_location=1' ) |
249 |
->header_is( 'X-Base-Total-Count', '4', '4 is the count for libraries with pickup_location=1' ) |
250 |
->header_unlike( 'Link', qr|rel="prev"| ) |
251 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=2.*|_page=2.*\&_per_page=1.*)>\; rel="next"# ) |
252 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=1.*|_page=1.*\&_per_page=1).*>\; rel="first"# ) |
253 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=4.*|_page=4.*\&_per_page=1).*>\; rel="last"# ); |
254 |
|
255 |
$t->get_ok( "//$userid:$password@/api/v1/items/" |
256 |
. $item->id |
257 |
. "/pickup_locations?" |
258 |
. "patron_id=" |
259 |
. $patron->id |
260 |
. "&_order_by=marc_org_code" |
261 |
. "&_per_page=1&_page=3" ) # force the needs_override=1 check |
262 |
->json_is( [$library_3_api] ) |
263 |
->header_is( 'X-Total-Count', '4', '4 is the count for libraries with pickup_location=1' ) |
264 |
->header_is( 'X-Base-Total-Count', '4', '4 is the count for libraries with pickup_location=1' ) |
265 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=2.*|_page=2.*\&_per_page=1.*)>\; rel="prev"# ) |
266 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=4.*|_page=4.*\&_per_page=1.*)>\; rel="next"# ) |
267 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=1.*|_page=1.*\&_per_page=1).*>\; rel="first"# ) |
268 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=4.*|_page=4.*\&_per_page=1).*>\; rel="last"# ); |
269 |
|
270 |
t::lib::Mocks::mock_preference( 'AllowHoldPolicyOverride', 0 ); |
271 |
|
272 |
$t->get_ok( "//$userid:$password@/api/v1/items/" . $item->id . "/pickup_locations?" . "patron_id=" . $patron->id . "&_order_by=marc_org_code" . "&_per_page=1" ) |
273 |
->json_is( [$library_1_api] ) |
274 |
->header_is( 'X-Total-Count', '2' ) |
275 |
->header_is( 'X-Base-Total-Count', '2' ) |
276 |
->header_unlike( 'Link', qr|rel="prev"| ) |
277 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=2.*|_page=2.*\&_per_page=1.*)>\; rel="next"# ) |
278 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=1.*|_page=1.*\&_per_page=1).*>\; rel="first"# ) |
279 |
->header_like( 'Link', qr#(_per_page=1.*\&_page=2.*|_page=2.*\&_per_page=1).*>\; rel="last"# ); |
280 |
}; |
281 |
|
240 |
my $deleted_patron = $builder->build_object({ class => 'Koha::Patrons' }); |
282 |
my $deleted_patron = $builder->build_object({ class => 'Koha::Patrons' }); |
241 |
my $deleted_patron_id = $deleted_patron->id; |
283 |
my $deleted_patron_id = $deleted_patron->id; |
242 |
$deleted_patron->delete; |
284 |
$deleted_patron->delete; |
243 |
- |
|
|