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"
);
} /**
* Checks that the saved field item value matches the expected one.
*
* @param \Drupal\entity_test\Entity\EntityTest $entity
* The test entity.
* @param string $expected_value
* The expected field item value.
*
* @internal
*/