function AreaEntityTest::testEntityAreaData
Same name in other branches
- 9 core/modules/views/tests/src/Kernel/Handler/AreaEntityTest.php \Drupal\Tests\views\Kernel\Handler\AreaEntityTest::testEntityAreaData()
- 10 core/modules/views/tests/src/Kernel/Handler/AreaEntityTest.php \Drupal\Tests\views\Kernel\Handler\AreaEntityTest::testEntityAreaData()
- 11.x core/modules/views/tests/src/Kernel/Handler/AreaEntityTest.php \Drupal\Tests\views\Kernel\Handler\AreaEntityTest::testEntityAreaData()
Tests views data for entity area handlers.
File
-
core/
modules/ views/ tests/ src/ Kernel/ Handler/ AreaEntityTest.php, line 64
Class
- AreaEntityTest
- Tests the generic entity area handler.
Namespace
Drupal\Tests\views\Kernel\HandlerCode
public function testEntityAreaData() {
$data = $this->container
->get('views.views_data')
->get('views');
$entity_types = $this->container
->get('entity_type.manager')
->getDefinitions();
$expected_entities = array_filter($entity_types, function (EntityTypeInterface $entity_type) {
return $entity_type->hasViewBuilderClass();
});
// Test that all expected entity types have data.
foreach (array_keys($expected_entities) as $entity) {
$this->assertTrue(!empty($data['entity_' . $entity]), new FormattableMarkup('Views entity area data found for @entity', [
'@entity' => $entity,
]));
// Test that entity_type is set correctly in the area data.
$this->assertEqual($entity, $data['entity_' . $entity]['area']['entity_type'], new FormattableMarkup('Correct entity_type set for @entity', [
'@entity' => $entity,
]));
}
$expected_entities = array_filter($entity_types, function (EntityTypeInterface $type) {
return !$type->hasViewBuilderClass();
});
// Test that no configuration entity types have data.
foreach (array_keys($expected_entities) as $entity) {
$this->assertTrue(empty($data['entity_' . $entity]), new FormattableMarkup('Views config entity area data not found for @entity', [
'@entity' => $entity,
]));
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.