public function FieldItemTest::testSaveWorkflow in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/KernelTests/Core/Field/FieldItemTest.php \Drupal\KernelTests\Core\Field\FieldItemTest::testSaveWorkflow()
Tests the field item save workflow.
File
- core/
tests/ Drupal/ KernelTests/ Core/ Field/ FieldItemTest.php, line 60
Class
- FieldItemTest
- Test field item methods.
Namespace
Drupal\KernelTests\Core\FieldCode
public function testSaveWorkflow() {
$entity = EntityTestMulRev::create([
'name' => $this
->randomString(),
'field_test_item' => $this
->randomString(),
$this->fieldName => $this
->randomString(),
]);
// Save a new entity and verify that the initial field value is overwritten
// with a value containing the entity id, which implies a resave. Check that
// the entity data structure and the stored values match.
$this
->assertSavedFieldItemValue($entity, "field_test:{$this->fieldName}:1:1");
// Update the entity and verify that the field value is overwritten on
// presave if it is not resaved.
$this
->assertSavedFieldItemValue($entity, 'overwritten');
// Flag the field value as needing to be resaved and verify it actually is.
$entity->field_test_item->value = $entity->{$this->fieldName}->value = 'resave';
$this
->assertSavedFieldItemValue($entity, "field_test:{$this->fieldName}:1:3");
}