Bug 24964: Add tests

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Jonathan Druart 2020-03-25 11:20:20 +01:00 committed by Martin Renvoize
parent ed5f3ecc05
commit f1bc7201d7
Signed by: martin.renvoize
GPG key ID: 422B469130441A0F

View file

@ -17,7 +17,7 @@
use Modern::Perl;
use Test::More tests => 51;
use Test::More tests => 52;
use C4::Context;
use C4::Members;
@ -56,7 +56,8 @@ my $john_doe = $builder->build({
branchcode => $branchcode,
dateofbirth => '1983-03-01',
userid => 'john.doe',
initials => 'pacman'
initials => 'pacman',
flags => 0,
},
});
@ -68,7 +69,8 @@ my $john_smith = $builder->build({
surname => 'Smith',
branchcode => $branchcode,
dateofbirth => '1982-02-01',
userid => 'john.smith'
userid => 'john.smith',
flags => 0,
},
});
@ -80,7 +82,8 @@ my $jane_doe = $builder->build({
surname => 'Doe',
branchcode => $branchcode,
dateofbirth => '1983-03-01',
userid => 'jane.doe'
userid => 'jane.doe',
flags => 0,
},
});
my $jeanpaul_dupont = $builder->build({
@ -91,7 +94,8 @@ my $jeanpaul_dupont = $builder->build({
surname => 'Dupont',
branchcode => $branchcode,
dateofbirth => '1982-02-01',
userid => 'jeanpaul.dupont'
userid => 'jeanpaul.dupont',
flags => 0,
},
});
my $dupont_brown = $builder->build({
@ -102,7 +106,8 @@ my $dupont_brown = $builder->build({
surname => 'Brown',
branchcode => $branchcode,
dateofbirth => '1979-01-01',
userid => 'dupont.brown'
userid => 'dupont.brown',
flags => 0,
},
});
@ -495,5 +500,56 @@ subtest 'Search by any borrowers field (bug 17374)' => sub {
is( $search_results->{ patrons }[0]->{ cardnumber }, $john_doe->{cardnumber}, "We find the correct patron when sesrching by initials" )
};
subtest 'Search with permissions' => sub {
plan tests => 2;
my $superlibrarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { branchcode => $branchcode, flags => 1 }
}
);
my $librarian_with_full_permission = $builder->build_object(
{
class => 'Koha::Patrons',
value => { branchcode => $branchcode, flags => 4100 }
}
); # 4100 = 4096 (2^12 suggestions) + 4 (2^2 catalogue)
my $librarian_with_subpermission = $builder->build_object(
{ class => 'Koha::Patrons', value => { branchcode => $branchcode } } );
C4::Context->dbh->do(
q|INSERT INTO user_permissions(borrowernumber, module_bit, code) VALUES(?,?,?)|,
undef,
$librarian_with_subpermission->borrowernumber,
12,
'suggestions_manage'
);
my $search_results = C4::Utils::DataTables::Members::search(
{
searchmember => "",
searchfieldstype => 'standard',
searchtype => 'contain',
branchcode => $branchcode,
has_permission => {
permission => 'suggestions',
subpermission => 'suggestions_manage'
},
dt_params => { iDisplayLength => 3, iDisplayStart => 0 },
}
);
is( $search_results->{iTotalDisplayRecords},
3, "We find 3 patrons with suggestions_manage permission" );
is_deeply(
[ map { $_->{borrowernumber} } @{ $search_results->{patrons} } ],
[
$superlibrarian->borrowernumber,
$librarian_with_full_permission->borrowernumber,
$librarian_with_subpermission->borrowernumber
],
'We got the 3 patrons we expected'
);
};
# End
$schema->storage->txn_rollback;