|
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 |
}; |