Bug 30133: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Tomas Cohen Arazi 2022-02-18 15:33:42 -03:00 committed by Kyle Hall
parent 277656b7c8
commit cfe9578eee
1 changed files with 43 additions and 1 deletions

View File

@ -144,7 +144,7 @@ subtest 'get() tests' => sub {
subtest 'pickup_locations() tests' => sub {
plan tests => 15;
plan tests => 16;
$schema->storage->txn_begin;
@ -237,6 +237,48 @@ subtest 'pickup_locations() tests' => sub {
. "patron_id=" . $patron->id . "&_order_by=marc_org_code" )
->json_is( [ $library_1_api, $library_2_api, $library_3_api, $library_5_api ] );
subtest 'Pagination and AllowHoldPolicyOverride tests' => sub {
plan tests => 27;
t::lib::Mocks::mock_preference( 'AllowHoldPolicyOverride', 1 );
$t->get_ok( "//$userid:$password@/api/v1/items/" . $item->id . "/pickup_locations?" . "patron_id=" . $patron->id . "&_order_by=marc_org_code" . "&_per_page=1" )
->json_is( [$library_1_api] )
->header_is( 'X-Total-Count', '4', '4 is the count for libraries with pickup_location=1' )
->header_is( 'X-Base-Total-Count', '4', '4 is the count for libraries with pickup_location=1' )
->header_unlike( 'Link', qr|rel="prev"| )
->header_like( 'Link', qr#(_per_page=1.*\&_page=2.*|_page=2.*\&_per_page=1.*)>\; rel="next"# )
->header_like( 'Link', qr#(_per_page=1.*\&_page=1.*|_page=1.*\&_per_page=1).*>\; rel="first"# )
->header_like( 'Link', qr#(_per_page=1.*\&_page=4.*|_page=4.*\&_per_page=1).*>\; rel="last"# );
$t->get_ok( "//$userid:$password@/api/v1/items/"
. $item->id
. "/pickup_locations?"
. "patron_id="
. $patron->id
. "&_order_by=marc_org_code"
. "&_per_page=1&_page=3" ) # force the needs_override=1 check
->json_is( [$library_3_api] )
->header_is( 'X-Total-Count', '4', '4 is the count for libraries with pickup_location=1' )
->header_is( 'X-Base-Total-Count', '4', '4 is the count for libraries with pickup_location=1' )
->header_like( 'Link', qr#(_per_page=1.*\&_page=2.*|_page=2.*\&_per_page=1.*)>\; rel="prev"# )
->header_like( 'Link', qr#(_per_page=1.*\&_page=4.*|_page=4.*\&_per_page=1.*)>\; rel="next"# )
->header_like( 'Link', qr#(_per_page=1.*\&_page=1.*|_page=1.*\&_per_page=1).*>\; rel="first"# )
->header_like( 'Link', qr#(_per_page=1.*\&_page=4.*|_page=4.*\&_per_page=1).*>\; rel="last"# );
t::lib::Mocks::mock_preference( 'AllowHoldPolicyOverride', 0 );
$t->get_ok( "//$userid:$password@/api/v1/items/" . $item->id . "/pickup_locations?" . "patron_id=" . $patron->id . "&_order_by=marc_org_code" . "&_per_page=1" )
->json_is( [$library_1_api] )
->header_is( 'X-Total-Count', '2' )
->header_is( 'X-Base-Total-Count', '2' )
->header_unlike( 'Link', qr|rel="prev"| )
->header_like( 'Link', qr#(_per_page=1.*\&_page=2.*|_page=2.*\&_per_page=1.*)>\; rel="next"# )
->header_like( 'Link', qr#(_per_page=1.*\&_page=1.*|_page=1.*\&_per_page=1).*>\; rel="first"# )
->header_like( 'Link', qr#(_per_page=1.*\&_page=2.*|_page=2.*\&_per_page=1).*>\; rel="last"# );
};
my $deleted_patron = $builder->build_object({ class => 'Koha::Patrons' });
my $deleted_patron_id = $deleted_patron->id;
$deleted_patron->delete;