function EntityFieldTest::doTestSave
Same name in other branches
- 8.9.x core/tests/Drupal/KernelTests/Core/Entity/EntityFieldTest.php \Drupal\KernelTests\Core\Entity\EntityFieldTest::doTestSave()
- 10 core/tests/Drupal/KernelTests/Core/Entity/EntityFieldTest.php \Drupal\KernelTests\Core\Entity\EntityFieldTest::doTestSave()
- 11.x core/tests/Drupal/KernelTests/Core/Entity/EntityFieldTest.php \Drupal\KernelTests\Core\Entity\EntityFieldTest::doTestSave()
Executes the save tests for the given entity type.
Parameters
string $entity_type: The entity type to run the tests with.
1 call to EntityFieldTest::doTestSave()
- EntityFieldTest::testSave in core/
tests/ Drupal/ KernelTests/ Core/ Entity/ EntityFieldTest.php - Tries to save and load an entity again.
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Entity/ EntityFieldTest.php, line 383
Class
- EntityFieldTest
- Tests the Entity Field API.
Namespace
Drupal\KernelTests\Core\EntityCode
protected function doTestSave($entity_type) {
$langcode_key = $this->entityTypeManager
->getDefinition($entity_type)
->getKey('langcode');
$entity = $this->createTestEntity($entity_type);
$entity->save();
$this->assertTrue((bool) $entity->id(), new FormattableMarkup('%entity_type: Entity has received an id.', [
'%entity_type' => $entity_type,
]));
$entity = $this->container
->get('entity_type.manager')
->getStorage($entity_type)
->load($entity->id());
$this->assertTrue((bool) $entity->id(), new FormattableMarkup('%entity_type: Entity loaded.', [
'%entity_type' => $entity_type,
]));
// Access the name field.
$this->assertEquals(1, $entity->id->value, new FormattableMarkup('%entity_type: ID value can be read.', [
'%entity_type' => $entity_type,
]));
$this->assertIsString($entity->uuid->value);
$this->assertEquals('en', $entity->{$langcode_key}->value, new FormattableMarkup('%entity_type: Language code can be read.', [
'%entity_type' => $entity_type,
]));
$this->assertEquals(\Drupal::languageManager()->getLanguage('en'), $entity->{$langcode_key}->language, new FormattableMarkup('%entity_type: Language object can be read.', [
'%entity_type' => $entity_type,
]));
$this->assertEquals($this->entityUser
->id(), $entity->user_id->target_id, new FormattableMarkup('%entity_type: User id can be read.', [
'%entity_type' => $entity_type,
]));
$this->assertEquals($this->entityUser
->getAccountName(), $entity->user_id->entity->name->value, new FormattableMarkup('%entity_type: User name can be read.', [
'%entity_type' => $entity_type,
]));
$this->assertEquals($this->entityFieldText, $entity->field_test_text->value, new FormattableMarkup('%entity_type: Text field can be read.', [
'%entity_type' => $entity_type,
]));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.