EntityUuidIdTest.php

Namespace

Drupal\FunctionalTests\Entity

File

core/tests/Drupal/FunctionalTests/Entity/EntityUuidIdTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\FunctionalTests\Entity;

use Drupal\Component\Uuid\Uuid;
use Drupal\Tests\BrowserTestBase;
use Drupal\Tests\content_translation\Traits\ContentTranslationTestTrait;

/**
 * Tests that an entity with a UUID as ID can be managed.
 *
 * @group Entity
 */
class EntityUuidIdTest extends BrowserTestBase {
  use ContentTranslationTestTrait;
  
  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'block',
    'content_translation',
    'entity_test',
  ];
  
  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';
  
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this->createLanguageFromLangcode('af');
    $this->enableContentTranslation('entity_test_uuid_id', 'entity_test_uuid_id');
    $this->drupalPlaceBlock('page_title_block');
    $this->drupalPlaceBlock('local_tasks_block');
  }
  
  /**
   * Tests the user interface for the test entity.
   */
  public function testUi() : void {
    $this->drupalLogin($this->createUser([
      'administer entity_test content',
      'create content translations',
      'translate entity_test_uuid_id',
      'view test entity',
    ]));
    // Test adding an entity.
    $this->drupalGet('/entity_test_uuid_id/add');
    $this->submitForm([
      'Name' => 'Test entity with UUID ID',
    ], 'Save');
    $this->assertSession()
      ->elementTextEquals('css', 'h1', 'Edit Test entity with UUID ID');
    $this->assertSession()
      ->addressMatches('#^/entity_test_uuid_id/manage/' . Uuid::VALID_PATTERN . '/edit$#');
    // Test translating an entity.
    $this->clickLink('Translate');
    $this->clickLink('Add');
    $this->submitForm([
      'Name' => 'Afrikaans translation of test entity with UUID ID',
    ], 'Save');
    $this->assertSession()
      ->elementTextEquals('css', 'h1', 'Afrikaans translation of test entity with UUID ID [Afrikaans translation]');
    $this->assertSession()
      ->addressMatches('#^/af/entity_test_uuid_id/manage/' . Uuid::VALID_PATTERN . '/edit$#');
  }

}

Classes

Title Deprecated Summary
EntityUuidIdTest Tests that an entity with a UUID as ID can be managed.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.