Lines 20-26
Link Here
|
20 |
# along with Koha; if not, see <http://www.gnu.org/licenses>. |
20 |
# along with Koha; if not, see <http://www.gnu.org/licenses>. |
21 |
|
21 |
|
22 |
use Modern::Perl; |
22 |
use Modern::Perl; |
23 |
use Test::More tests => 4; |
23 |
use Test::More tests => 5; |
24 |
use Test::Exception; |
24 |
use Test::Exception; |
25 |
|
25 |
|
26 |
use Koha::Database; |
26 |
use Koha::Database; |
Lines 238-240
subtest 'arrayref top level OR tests' => sub {
Link Here
|
238 |
}; |
238 |
}; |
239 |
|
239 |
|
240 |
$schema->storage->txn_rollback; |
240 |
$schema->storage->txn_rollback; |
241 |
- |
241 |
|
|
|
242 |
subtest 'AND on subpermissions' => sub { |
243 |
|
244 |
plan tests => 2; |
245 |
|
246 |
$schema->storage->txn_begin; |
247 |
|
248 |
my $patron = $builder->build_object( { class => 'Koha::Patrons', value => { flags => 0 } } ); |
249 |
|
250 |
$builder->build( |
251 |
{ |
252 |
source => 'UserPermission', |
253 |
value => { |
254 |
borrowernumber => $patron->id, |
255 |
module_bit => 9, # editcatalogue |
256 |
code => 'edit_catalogue', |
257 |
}, |
258 |
} |
259 |
); |
260 |
|
261 |
my $r = haspermission( $patron->userid, { editcatalogue => { edit_catalogue => 1, advanced_editor => 1 } } ); |
262 |
is( $r, 0, "The user only has 'edit_catalogue' permissions, 0 returned" ); |
263 |
|
264 |
$builder->build( |
265 |
{ |
266 |
source => 'UserPermission', |
267 |
value => { |
268 |
borrowernumber => $patron->id, |
269 |
module_bit => 9, # editcatalogue |
270 |
code => 'advanced_editor', |
271 |
}, |
272 |
} |
273 |
); |
274 |
|
275 |
$r = haspermission( $patron->userid, { editcatalogue => { edit_catalogue => 1, advanced_editor => 1 } } ); |
276 |
|
277 |
ok( |
278 |
$r->{editcatalogue}->{edit_catalogue} && $r->{editcatalogue}->{advanced_editor}, |
279 |
"The patron has 'edit_catalogue' and 'advanced_editor', both returned" |
280 |
); |
281 |
|
282 |
$schema->storage->txn_rollback; |
283 |
}; |