function EntityFieldTest::testFieldEntityRevisionWrite
Same name in other branches
- 11.x core/tests/Drupal/KernelTests/Core/Entity/EntityFieldTest.php \Drupal\KernelTests\Core\Entity\EntityFieldTest::testFieldEntityRevisionWrite()
Test setting field values on revisionable entities.
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Entity/ EntityFieldTest.php, line 104
Class
- EntityFieldTest
- Tests the Entity Field API.
Namespace
Drupal\KernelTests\Core\EntityCode
public function testFieldEntityRevisionWrite() : void {
/** @var \Drupal\Core\Entity\RevisionableStorageInterface $storage */
$storage = \Drupal::entityTypeManager()->getStorage('entity_test_rev');
// Create a new entity, with a field value 'foo'.
$entity = EntityTestRev::create();
$entity->field_test_text->value = 'foo';
$entity->save();
// Create a new non-default revision and set the field value to 'bar'.
$entity->setNewRevision(TRUE);
$entity->isDefaultRevision(FALSE);
$entity->field_test_text->value = 'bar';
$entity->save();
$forward_revision_id = $entity->getRevisionId();
// Load the forward revision and set the field value to equal the value of
// the default revision.
$forward_revision = $storage->loadRevision($forward_revision_id);
$forward_revision->field_test_text->value = 'foo';
$forward_revision->save();
$storage->resetCache();
// The updated field value should have correctly saved as 'foo'.
$forward_revision = $storage->loadRevision($forward_revision_id);
$this->assertEquals('foo', $forward_revision->field_test_text->value);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.