trait EntityCreationTrait in Chaos Tool Suite (ctools) 8.3
Hierarchy
- trait \Drupal\ctools\Testing\EntityCreationTrait
1 file declares its use of EntityCreationTrait
- RelationshipsTestBase.php in tests/
src/ Kernel/ RelationshipsTestBase.php
File
- src/
Testing/ EntityCreationTrait.php, line 8
Namespace
Drupal\ctools\TestingView source
trait EntityCreationTrait {
/**
* The entity type manager.
*
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected $entityTypeManager;
/**
* Creates a custom content type based on default settings.
*
* @param string $entity_type
* The type of entity to create.
* @param array $values
* An array of settings to change from the defaults.
* Example: 'type' => 'foo'.
*
* @return \Drupal\Core\Entity\EntityInterface
* Created entity.
*/
protected function createEntity($entity_type, array $values = []) {
$storage = $this
->getEntityTypeManager()
->getStorage($entity_type);
$entity = $storage
->create($values);
$status = $entity
->save();
\Drupal::service('router.builder')
->rebuild();
if ($this instanceof \PHPUnit_Framework_TestCase) {
$this
->assertSame(SAVED_NEW, $status, (new FormattableMarkup('Created entity %id of type %type.', [
'%id' => $entity
->id(),
'%type' => $entity_type,
]))
->__toString());
}
else {
$this
->assertEquals(SAVED_NEW, $status, (new FormattableMarkup('Created entity %id of type %type.', [
'%id' => $entity
->id(),
'%type' => $entity_type,
]))
->__toString());
}
return $entity;
}
/**
* @return \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected function getEntityTypeManager() {
if (!isset($this->entityTypeManager)) {
$this->entityTypeManager = $this->container
->get('entity_type.manager');
}
return $this->entityTypeManager;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityCreationTrait:: |
protected | property | The entity type manager. | |
EntityCreationTrait:: |
protected | function | Creates a custom content type based on default settings. | |
EntityCreationTrait:: |
protected | function |