X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FCRM%2FCore%2FPermission%2FBaseTest.php;h=63ddc5fee4533420ec45211747f8abaf4a8309c2;hb=57a4d21c775b0c925dcb580672ccec6076ce8e86;hp=2095aba6861ac09b9fd3edd2ef4b8476f1dda1a1;hpb=fb199459f5974ecf0815a7fc3abf5cd82167df73;p=civicrm-core.git diff --git a/tests/phpunit/CRM/Core/Permission/BaseTest.php b/tests/phpunit/CRM/Core/Permission/BaseTest.php index 2095aba686..63ddc5fee4 100644 --- a/tests/phpunit/CRM/Core/Permission/BaseTest.php +++ b/tests/phpunit/CRM/Core/Permission/BaseTest.php @@ -6,13 +6,13 @@ */ class CRM_Core_Permission_BaseTest extends CiviUnitTestCase { - use CRMTraits_ACL_PermissionTrait; + use Civi\Test\ACLPermissionTrait; /** * @return array * (0 => input to translatePermission, 1 => expected output from translatePermission) */ - public function translateData() { + public function translateData(): array { $cases = []; $cases[] = ['administer CiviCRM', 'administer CiviCRM']; @@ -35,7 +35,7 @@ class CRM_Core_Permission_BaseTest extends CiviUnitTestCase { * @param string $expected * The name of an actual permission (based on translation matrix for "runtime"). */ - public function testTranslate($input, $expected) { + public function testTranslate(string $input, string $expected): void { $perm = new CRM_Core_Permission_Base(); $actual = $perm->translatePermission($input, 'myruntime', [ 'universal name' => 'local name', @@ -48,7 +48,7 @@ class CRM_Core_Permission_BaseTest extends CiviUnitTestCase { /** * Test that the user has the implied permission of administer CiviCRM data by virtue of having administer CiviCRM. */ - public function testImpliedPermission() { + public function testImpliedPermission(): void { $this->createLoggedInUser(); CRM_Core_Config::singleton()->userPermissionClass->permissions = [ 'administer CiviCRM', @@ -56,4 +56,15 @@ class CRM_Core_Permission_BaseTest extends CiviUnitTestCase { $this->assertTrue(CRM_Core_Permission::check('administer CiviCRM data')); } + /** + * Test that the super permission gives the implied permission of the whole shebang. + */ + public function testImpliedPermissionSuperDuper(): void { + $this->createLoggedInUser(); + CRM_Core_Config::singleton()->userPermissionClass->permissions = [ + 'all CiviCRM permissions and ACLs', + ]; + $this->assertTrue(CRM_Core_Permission::check('view all contacts')); + } + }