protected function LinkCheckerLinkAccessTest::createEntity in Link checker 8
Helper function for entity creation.
Parameters
\Drupal\Core\Entity\EntityTypeInterface $entityTypeDefinition: The entity type.
string $bundleId: Bundle ID.
Return value
\Drupal\Core\Entity\FieldableEntityInterface The entity.
1 call to LinkCheckerLinkAccessTest::createEntity()
- LinkCheckerLinkAccessTest::testLinkAccess in tests/
src/ Kernel/ LinkCheckerLinkAccessTest.php - Runs basic tests for link access.
File
- tests/
src/ Kernel/ LinkCheckerLinkAccessTest.php, line 278
Class
- LinkCheckerLinkAccessTest
- Tests basic linkchecker link access functionality.
Namespace
Drupal\Tests\linkchecker\KernelCode
protected function createEntity(EntityTypeInterface $entityTypeDefinition, $bundleId) {
$entityData = [];
$entityData[$entityTypeDefinition
->getKey('bundle')] = $bundleId;
if ($entityTypeDefinition
->hasKey('published')) {
$entityData[$entityTypeDefinition
->getKey('published')] = 1;
}
/** @var \Drupal\Core\Entity\FieldableEntityInterface $entity */
$entity = $this->entityTypeManager
->getStorage($entityTypeDefinition
->id())
->create($entityData);
foreach ($entity
->getFieldDefinitions() as $fieldDefinition) {
// Skip read-only fields.
if ($fieldDefinition
->isReadOnly()) {
continue;
}
// Skip non-required fields.
if (!$fieldDefinition
->isRequired()) {
continue;
}
// Skip non-empty fields.
if (!$entity
->get($fieldDefinition
->getName())
->isEmpty()) {
continue;
}
$field = $entity
->get($fieldDefinition
->getName());
switch ($fieldDefinition
->getType()) {
case 'integer':
$field
->setValue([
'value' => 1,
]);
break;
default:
$field
->setValue([
'value' => $this
->randomString(),
]);
break;
}
}
$entity
->save();
return $entity;
}