public function PermissionEventTest::testGetPermission in Organic groups 8
Tests getting a single group permission.
@covers ::getPermission
@dataProvider permissionsProvider
Parameters
\Drupal\og\PermissionInterface[] $permissions: An array of test permissions.
string $entity_type_id: The entity type ID of the group type to which the permissions apply.
string $bundle_id: The bundle ID of the group type to which the permissions apply.
array $group_content_bundle_ids: An array of group content bundle IDs to which the permissions apply, keyed by group content entity type ID.
File
- tests/
src/ Unit/ PermissionEventTest.php, line 39
Class
- PermissionEventTest
- Tests permission events.
Namespace
Drupal\Tests\og\UnitCode
public function testGetPermission(array $permissions, $entity_type_id, $bundle_id, array $group_content_bundle_ids) {
$event = new PermissionEvent($entity_type_id, $bundle_id, $group_content_bundle_ids);
// An exception should be thrown when trying to get a permission that
// doesn't exist.
foreach ($permissions as $name => $permission) {
try {
$event
->getPermission($name);
$this
->fail('Calling ::getPermission() on a non-existing permission throws an exception.');
} catch (\InvalidArgumentException $e) {
// Expected result.
}
}
// Test that it can retrieve the permissions correctly after they are set.
$event
->setPermissions($permissions);
foreach ($permissions as $permission) {
$this
->assertEquals($permission, $event
->getPermission($permission
->getName()));
}
}