You are here

class CalculatedGroupPermissionsItemTest in Group 8

Same name and namespace in other branches
  1. 2.0.x tests/src/Unit/CalculatedGroupPermissionsItemTest.php \Drupal\Tests\group\Unit\CalculatedGroupPermissionsItemTest

Tests the CalculatedGroupPermissionsItem value object.

@coversDefaultClass \Drupal\group\Access\CalculatedGroupPermissionsItem @group group

Hierarchy

Expanded class hierarchy of CalculatedGroupPermissionsItemTest

File

tests/src/Unit/CalculatedGroupPermissionsItemTest.php, line 15

Namespace

Drupal\Tests\group\Unit
View source
class CalculatedGroupPermissionsItemTest extends UnitTestCase {

  /**
   * Tests that the object values were set in the constructor.
   *
   * @covers ::__construct
   * @covers ::getIdentifier
   * @covers ::getScope
   * @covers ::getPermissions
   * @covers ::isAdmin
   */
  public function testConstructor() {
    $scope = CalculatedGroupPermissionsItemInterface::SCOPE_GROUP_TYPE;
    $item = new CalculatedGroupPermissionsItem($scope, 'foo', [
      'bar',
      'baz',
      'bar',
    ], FALSE);
    $this
      ->assertEquals($scope, $item
      ->getScope(), 'Scope name was set correctly.');
    $this
      ->assertEquals('foo', $item
      ->getIdentifier(), 'Scope identifier was set correctly.');
    $this
      ->assertEquals([
      'bar',
      'baz',
    ], $item
      ->getPermissions(), 'Permissions were made unique and set correctly.');
    $this
      ->assertFalse($item
      ->isAdmin(), 'Admin flag was set correctly');
  }

  /**
   * Tests the permission check when the admin flag is not set.
   *
   * @covers ::hasPermission
   * @depends testConstructor
   */
  public function testHasPermission() {
    $scope = CalculatedGroupPermissionsItemInterface::SCOPE_GROUP_TYPE;
    $item = new CalculatedGroupPermissionsItem($scope, 'foo', [
      'bar',
    ], FALSE);
    $this
      ->assertFalse($item
      ->hasPermission('baz'), 'Missing permission was not found.');
    $this
      ->assertTrue($item
      ->hasPermission('bar'), 'Existing permission was found.');
  }

  /**
   * Tests the permission check when the admin flag is set.
   *
   * @covers ::hasPermission
   * @depends testConstructor
   */
  public function testHasPermissionWithAdminFlag() {
    $scope = CalculatedGroupPermissionsItemInterface::SCOPE_GROUP_TYPE;
    $item = new CalculatedGroupPermissionsItem($scope, 'foo', [
      'bar',
    ], TRUE);
    $this
      ->assertTrue($item
      ->hasPermission('baz'), 'Missing permission was found.');
    $this
      ->assertTrue($item
      ->hasPermission('bar'), 'Existing permission was found.');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CalculatedGroupPermissionsItemTest::testConstructor public function Tests that the object values were set in the constructor.
CalculatedGroupPermissionsItemTest::testHasPermission public function Tests the permission check when the admin flag is not set.
CalculatedGroupPermissionsItemTest::testHasPermissionWithAdminFlag public function Tests the permission check when the admin flag is set.
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.
UnitTestCase::setUp protected function 340