You are here

class FeedTypeAccessControlHandlerTest in Feeds 8.3

@coversDefaultClass \Drupal\feeds\FeedTypeAccessControlHandler @group feeds

Hierarchy

Expanded class hierarchy of FeedTypeAccessControlHandlerTest

File

tests/src/Unit/FeedTypeAccessControlHandlerTest.php, line 16

Namespace

Drupal\Tests\feeds\Unit
View source
class FeedTypeAccessControlHandlerTest extends FeedsUnitTestCase {

  /**
   * {@inheritdoc}
   */
  public function setUp() {
    parent::setUp();
    $cache_contexts_manager = $this
      ->prophesize(CacheContextsManager::class);
    $cache_contexts_manager
      ->assertValidTokens()
      ->willReturn(TRUE);
    $cache_contexts_manager
      ->reveal();
    $container = new Container();
    $container
      ->set('cache_contexts_manager', $cache_contexts_manager);
    \Drupal::setContainer($container);
    $this->entity = $this
      ->prophesize(FeedTypeInterface::class);
    $this->account = $this
      ->prophesize(AccountInterface::class);
    $this->account
      ->hasPermission('administer feeds')
      ->willReturn(TRUE);
    $entity_type = $this
      ->prophesize(EntityTypeInterface::class);
    $entity_type
      ->getAdminPermission()
      ->willReturn('administer feeds');
    $entity_type
      ->id()
      ->willReturn('feed_type');
    $this->controller = new FeedTypeAccessControlHandler($entity_type
      ->reveal());
  }

  /**
   * @covers ::checkAccess
   */
  public function testCheckAccess() {
    $method = $this
      ->getMethod(FeedTypeAccessControlHandler::class, 'checkAccess');
    $result = $method
      ->invokeArgs($this->controller, [
      $this->entity
        ->reveal(),
      'view',
      $this->account
        ->reveal(),
    ]);
    $this
      ->assertTrue($result
      ->isAllowed());
    $result = $method
      ->invokeArgs($this->controller, [
      $this->entity
        ->reveal(),
      'delete',
      $this->account
        ->reveal(),
    ]);
    $this
      ->assertTrue($result
      ->isAllowed());
    $this->entity
      ->getCacheContexts()
      ->willReturn([]);
    $this->entity
      ->getCacheTags()
      ->willReturn([]);
    $this->entity
      ->getCacheMaxAge()
      ->willReturn(0);
    $this->entity
      ->isLocked()
      ->willReturn(TRUE);
    $this->entity
      ->isNew()
      ->willReturn(FALSE);
    $result = $method
      ->invokeArgs($this->controller, [
      $this->entity
        ->reveal(),
      'delete',
      $this->account
        ->reveal(),
    ]);
    $this
      ->assertFalse($result
      ->isAllowed());
    $this->account
      ->hasPermission('administer feeds')
      ->willReturn(FALSE);
    $result = $method
      ->invokeArgs($this->controller, [
      $this->entity
        ->reveal(),
      'delete',
      $this->account
        ->reveal(),
    ]);
    $this
      ->assertFalse($result
      ->isAllowed());
    $result = $method
      ->invokeArgs($this->controller, [
      $this->entity
        ->reveal(),
      'view',
      $this->account
        ->reveal(),
    ]);
    $this
      ->assertFalse($result
      ->isAllowed());
    $this->entity
      ->isNew()
      ->willReturn(TRUE);
    $result = $method
      ->invokeArgs($this->controller, [
      $this->entity
        ->reveal(),
      'delete',
      $this->account
        ->reveal(),
    ]);
    $this
      ->assertFalse($result
      ->isAllowed());
  }

}

Members

Namesort descending Modifiers Type Description Overrides
FeedsMockingTrait::getMockAccount protected function Mocks an account object.
FeedsMockingTrait::getMockedAccountSwitcher protected function Returns a mocked AccountSwitcher object.
FeedsMockingTrait::getMockFeed protected function Returns a mocked feed entity.
FeedsMockingTrait::getMockFeedType protected function Returns a mocked feed type entity.
FeedsMockingTrait::getMockFieldDefinition protected function Mocks a field definition. 1
FeedsMockingTrait::getMockFileSystem protected function Mocks the file system.
FeedsReflectionTrait::callProtectedMethod protected function Calls a protected method on the given object.
FeedsReflectionTrait::getMethod protected function Gets a ReflectionMethod for a class method.
FeedsReflectionTrait::getProtectedClosure protected function Returns a dynamically created closure for the object's method.
FeedsReflectionTrait::setProtectedProperty protected function Sets a protected property.
FeedsUnitTestCase::absolutePath protected function Returns the absolute directory path of the Feeds module.
FeedsUnitTestCase::defineConstants protected function Defines stub constants.
FeedsUnitTestCase::getMockStreamWrapperManager protected function Returns a mock stream wrapper manager.
FeedsUnitTestCase::resourcesPath protected function Returns the absolute directory path of the resources folder.
FeedTypeAccessControlHandlerTest::setUp public function Overrides FeedsUnitTestCase::setUp
FeedTypeAccessControlHandlerTest::testCheckAccess public function @covers ::checkAccess
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.