Bug 29510: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
(cherry picked from commit fe5dc0bdda78424437331cf83624c7606a3a54b4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit eae197962e)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
This commit is contained in:
Tomás Cohen Arazi 2021-11-17 18:02:17 -03:00 committed by Frédéric Demians
parent 5ebc7f26c1
commit 46c10c68ab

View file

@ -139,6 +139,19 @@ get '/cities/:city_id/rs' => sub {
$c->render( status => 200, json => { name => $city->city_name } ); $c->render( status => 200, json => { name => $city->city_name } );
}; };
get '/my_patrons/:patron_id' => sub {
my $c = shift;
my $patron_id = $c->param('patron_id');
my $patron = $c->objects->find( scalar Koha::Patrons->new, $patron_id );
$c->render(
status => 200,
json => $patron
);
};
# The tests # The tests
use Test::More tests => 18; use Test::More tests => 18;
use Test::Mojo; use Test::Mojo;
@ -907,7 +920,6 @@ subtest 'objects.search helper with expanded authorised values' => sub {
->json_is( '/0/name' => 'Manuel' )->json_hasnt('/0/_strings') ->json_is( '/0/name' => 'Manuel' )->json_hasnt('/0/_strings')
->json_is( '/1/name' => 'Manuela' )->json_hasnt('/1/_strings'); ->json_is( '/1/name' => 'Manuela' )->json_hasnt('/1/_strings');
$schema->storage->txn_rollback; $schema->storage->txn_rollback;
}; };
@ -959,3 +971,44 @@ subtest 'objects.find_rs helper' => sub {
$schema->storage->txn_rollback; $schema->storage->txn_rollback;
}; };
subtest 'objects.find helper, search_limited() tests' => sub {
plan tests => 12;
$schema->storage->txn_begin;
my $library_1 = $builder->build_object( { class => 'Koha::Libraries' } );
my $library_2 = $builder->build_object( { class => 'Koha::Libraries' } );
my $patron_1 = $builder->build_object( { class => 'Koha::Patrons', value => { branchcode => $library_1->id } } );
my $patron_2 = $builder->build_object( { class => 'Koha::Patrons', value => { branchcode => $library_2->id } } );
my @libraries_where_can_see_patrons = ( $library_1->id, $library_2->id );
my $t = Test::Mojo->new;
my $mocked_patron = Test::MockModule->new('Koha::Patron');
$mocked_patron->mock(
'libraries_where_can_see_patrons',
sub {
return @libraries_where_can_see_patrons;
}
);
my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
t::lib::Mocks::mock_userenv( { patron => $patron } );
$t->get_ok( "/my_patrons/" . $patron_1->id )->status_is(200)->json_is( '/patron_id' => $patron_1->id );
$t->get_ok( "/my_patrons/" . $patron_2->id )->status_is(200)->json_is( '/patron_id' => $patron_2->id );
@libraries_where_can_see_patrons = ( $library_2->id );
$t->get_ok( "/my_patrons/" . $patron_1->id )->status_is(200)->json_is(undef);
$t->get_ok( "/my_patrons/" . $patron_2->id )->status_is(200)->json_is( '/patron_id' => $patron_2->id );
$schema->storage->txn_rollback;
};