Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 24 |
EntityReferenceTestTrait | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 24 |
createEntityReferenceField | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 24 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\field\Tests\EntityReference\EntityReferenceTestTrait. | |
*/ | |
namespace Drupal\field\Tests\EntityReference; | |
use Drupal\field\Entity\FieldConfig; | |
use Drupal\field\Entity\FieldStorageConfig; | |
/** | |
* Provides common functionality for the EntityReference test classes. | |
*/ | |
trait EntityReferenceTestTrait { | |
/** | |
* Creates a field of an entity reference field storage on the specified bundle. | |
* | |
* @param string $entity_type | |
* The type of entity the field will be attached to. | |
* @param string $bundle | |
* The bundle name of the entity the field will be attached to. | |
* @param string $field_name | |
* The name of the field; if it already exists, a new instance of the existing | |
* field will be created. | |
* @param string $field_label | |
* The label of the field. | |
* @param string $target_entity_type | |
* The type of the referenced entity. | |
* @param string $selection_handler | |
* The selection handler used by this field. | |
* @param array $selection_handler_settings | |
* An array of settings supported by the selection handler specified above. | |
* (e.g. 'target_bundles', 'sort', 'auto_create', etc). | |
* @param int $cardinality | |
* The cardinality of the field. | |
* | |
* @see \Drupal\Core\Entity\Plugin\EntityReferenceSelection\SelectionBase::buildConfigurationForm() | |
*/ | |
protected function createEntityReferenceField($entity_type, $bundle, $field_name, $field_label, $target_entity_type, $selection_handler = 'default', $selection_handler_settings = array(), $cardinality = 1) { | |
// Look for or add the specified field to the requested entity bundle. | |
if (!FieldStorageConfig::loadByName($entity_type, $field_name)) { | |
FieldStorageConfig::create(array( | |
'field_name' => $field_name, | |
'type' => 'entity_reference', | |
'entity_type' => $entity_type, | |
'cardinality' => $cardinality, | |
'settings' => array( | |
'target_type' => $target_entity_type, | |
), | |
))->save(); | |
} | |
if (!FieldConfig::loadByName($entity_type, $bundle, $field_name)) { | |
FieldConfig::create(array( | |
'field_name' => $field_name, | |
'entity_type' => $entity_type, | |
'bundle' => $bundle, | |
'label' => $field_label, | |
'settings' => array( | |
'handler' => $selection_handler, | |
'handler_settings' => $selection_handler_settings, | |
), | |
))->save(); | |
} | |
} | |
} |