function EntityViewControllerTest::testEntityViewController

Same name and namespace in other branches
  1. 9 core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php \Drupal\Tests\system\Functional\Entity\EntityViewControllerTest::testEntityViewController()
  2. 8.9.x core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php \Drupal\Tests\system\Functional\Entity\EntityViewControllerTest::testEntityViewController()
  3. 11.x core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php \Drupal\Tests\system\Functional\Entity\EntityViewControllerTest::testEntityViewController()

Tests EntityViewController.

File

core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php, line 52

Class

EntityViewControllerTest
Tests EntityViewController functionality.

Namespace

Drupal\Tests\system\Functional\Entity

Code

public function testEntityViewController() : void {
  $get_label_markup = function ($label) {
    return '<h1 class="page-title">
            <div class="field field--name-name field--type-string field--label-hidden field__item">' . $label . '</div>
      </h1>';
  };
  foreach ($this->entities as $entity) {
    $this->drupalGet('entity_test/' . $entity->id());
    $this->assertSession()
      ->pageTextContains($entity->label());
    $this->assertSession()
      ->responseContains($get_label_markup($entity->label()));
    $this->assertSession()
      ->pageTextContains('full');
    $this->drupalGet('entity_test_converter/' . $entity->id());
    $this->assertSession()
      ->pageTextContains($entity->label());
    $this->assertSession()
      ->pageTextContains('full');
    $this->drupalGet('entity_test_no_view_mode/' . $entity->id());
    $this->assertSession()
      ->pageTextContains($entity->label());
    $this->assertSession()
      ->pageTextContains('full');
  }
  // Test viewing a revisionable entity.
  $entity_test_rev = $this->createTestEntity('entity_test_rev');
  $entity_test_rev->save();
  $entity_test_rev->name->value = 'rev 2';
  $entity_test_rev->setNewRevision(TRUE);
  $entity_test_rev->isDefaultRevision(TRUE);
  $entity_test_rev->save();
  $this->drupalGet($entity_test_rev->toUrl('revision'));
  $this->assertSession()
    ->pageTextContains($entity_test_rev->label());
  $this->assertSession()
    ->responseContains($get_label_markup($entity_test_rev->label()));
  // As entity_test IDs must be integers, make sure requests for non-integer
  // IDs return a page not found error.
  $this->drupalGet('entity_test/invalid');
  $this->assertSession()
    ->statusCodeEquals(404);
}

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