function EntityTest::testCalculateDependencies

Same name and namespace in other branches
  1. 9 core/modules/views/tests/src/Unit/Plugin/argument_validator/EntityTest.php \Drupal\Tests\views\Unit\Plugin\argument_validator\EntityTest::testCalculateDependencies()
  2. 8.9.x core/modules/views/tests/src/Unit/Plugin/argument_validator/EntityTest.php \Drupal\Tests\views\Unit\Plugin\argument_validator\EntityTest::testCalculateDependencies()
  3. 10 core/modules/views/tests/src/Unit/Plugin/argument_validator/EntityTest.php \Drupal\Tests\views\Unit\Plugin\argument_validator\EntityTest::testCalculateDependencies()

@covers ::calculateDependencies

File

core/modules/views/tests/src/Unit/Plugin/argument_validator/EntityTest.php, line 193

Class

EntityTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21views%21src%21Plugin%21views%21argument_validator%21Entity.php/class/Entity/11.x" title="Defines an argument validator plugin for each entity type." class="local">\Drupal\views\Plugin\views\argument_validator\Entity</a> @group views

Namespace

Drupal\Tests\views\Unit\Plugin\argument_validator

Code

public function testCalculateDependencies() : void {
    // Create an entity type manager, storage, entity type, and entity to mock the
    // loading of entities providing bundles.
    $entity_type_manager = $this->createMock(EntityTypeManagerInterface::class);
    $storage = $this->createMock('Drupal\\Core\\Entity\\EntityStorageInterface');
    $entity_type = $this->createMock('Drupal\\Core\\Entity\\EntityTypeInterface');
    $mock_entity = $this->createMock('Drupal\\Core\\Entity\\EntityInterface');
    $mock_entity->expects($this->any())
        ->method('getConfigDependencyKey')
        ->willReturn('config');
    $mock_entity->expects($this->any())
        ->method('getConfigDependencyName')
        ->willReturn('test_bundle');
    $storage->expects($this->any())
        ->method('loadMultiple')
        ->with([
        'test_bundle',
    ])
        ->willReturn([
        'test_bundle' => $mock_entity,
    ]);
    $entity_type->expects($this->any())
        ->method('getBundleEntityType')
        ->willReturn('entity_test_bundle');
    $entity_type_manager->expects($this->any())
        ->method('getDefinition')
        ->with('entity_test')
        ->willReturn($entity_type);
    $entity_type_manager->expects($this->any())
        ->method('hasHandler')
        ->with('entity_test_bundle', 'storage')
        ->willReturn(TRUE);
    $entity_type_manager->expects($this->any())
        ->method('getStorage')
        ->with('entity_test_bundle')
        ->willReturn($storage);
    // Set up the argument validator.
    $argumentValidator = new Entity([], 'entity_test', [
        'entity_type' => 'entity_test',
    ], $entity_type_manager, $this->entityTypeBundleInfo);
    $options = [];
    $options['access'] = FALSE;
    $options['bundles'] = [
        'test_bundle' => 1,
    ];
    $argumentValidator->init($this->executable, $this->display, $options);
    $this->assertEquals([
        'config' => [
            'test_bundle',
        ],
    ], $argumentValidator->calculateDependencies());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.