You are here

public function EntityRevisionTranslationTest::testRevertRevisionAfterTranslation in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php \Drupal\KernelTests\Core\Entity\EntityRevisionTranslationTest::testRevertRevisionAfterTranslation()
  2. 10 core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php \Drupal\KernelTests\Core\Entity\EntityRevisionTranslationTest::testRevertRevisionAfterTranslation()

Tests if the translation object has the right revision id after new revision.

File

core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php, line 61

Class

EntityRevisionTranslationTest
Tests proper revision propagation of entities.

Namespace

Drupal\KernelTests\Core\Entity

Code

public function testRevertRevisionAfterTranslation() {
  $user = $this
    ->createUser();
  $storage = $this->entityTypeManager
    ->getStorage('entity_test_mulrev');

  // Create a test entity.
  $entity = EntityTestMulRev::create([
    'name' => $this
      ->randomString(),
    'user_id' => $user
      ->id(),
    'language' => 'en',
  ]);
  $entity
    ->save();
  $old_rev_id = $entity
    ->getRevisionId();
  $translation = $entity
    ->addTranslation('de');
  $translation
    ->setNewRevision();
  $translation
    ->save();
  $entity = $this
    ->reloadEntity($entity);
  $this
    ->assertTrue($entity
    ->hasTranslation('de'));
  $entity = $storage
    ->loadRevision($old_rev_id);
  $entity
    ->setNewRevision();
  $entity
    ->isDefaultRevision(TRUE);
  $entity
    ->save();
  $entity = $this
    ->reloadEntity($entity);
  $this
    ->assertFalse($entity
    ->hasTranslation('de'));
}