public function FieldItemTest::testSaveWorkflow in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/system/src/Tests/Field/FieldItemTest.php \Drupal\system\Tests\Field\FieldItemTest::testSaveWorkflow()
Tests the field item save workflow.
File
- core/
modules/ system/ src/ Tests/ Field/ FieldItemTest.php, line 66 - Contains \Drupal\system\Tests\Field\FieldItemTest.
Class
- FieldItemTest
- Test field item methods.
Namespace
Drupal\system\Tests\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");
}