function EntityViewControllerTest::testEntityViewController

Same name in other branches
  1. 8.9.x core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php \Drupal\Tests\system\Functional\Entity\EntityViewControllerTest::testEntityViewController()
  2. 10 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() {
    $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/' . $entity_test_rev->id() . '/revision/' . $entity_test_rev->revision_id->value . '/view');
    $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.