function EntityCacheTagsTestBase::setUp

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

Overrides PageCacheTagsTestBase::setUp

4 calls to EntityCacheTagsTestBase::setUp()
CommentCacheTagsTest::setUp in core/modules/comment/tests/src/Functional/CommentCacheTagsTest.php
FeedCacheTagsTest::setUp in core/modules/aggregator/tests/src/Functional/FeedCacheTagsTest.php
ItemCacheTagsTest::setUp in core/modules/aggregator/tests/src/Functional/ItemCacheTagsTest.php
UserCacheTagsTest::setUp in core/modules/user/tests/src/Functional/UserCacheTagsTest.php
6 methods override EntityCacheTagsTestBase::setUp()
CommentCacheTagsTest::setUp in core/modules/comment/tests/src/Functional/CommentCacheTagsTest.php
FeedCacheTagsTest::setUp in core/modules/aggregator/tests/src/Functional/FeedCacheTagsTest.php
ItemCacheTagsTest::setUp in core/modules/aggregator/tests/src/Functional/ItemCacheTagsTest.php
MediaCacheTagsTest::setUp in core/modules/media/tests/src/Functional/MediaCacheTagsTest.php
ShortcutCacheTagsTest::setUp in core/modules/shortcut/tests/src/Functional/ShortcutCacheTagsTest.php

... See full list

File

core/modules/system/tests/src/Functional/Entity/EntityCacheTagsTestBase.php, line 53

Class

EntityCacheTagsTestBase
Provides helper methods for Entity cache tags tests.

Namespace

Drupal\Tests\system\Functional\Entity

Code

protected function setUp() {
  parent::setUp();
  // Give anonymous users permission to view test entities, so that we can
  // verify the cache tags of cached versions of test entity pages.
  $user_role = Role::load(RoleInterface::ANONYMOUS_ID);
  $user_role->grantPermission('view test entity');
  $user_role->save();
  // Create an entity.
  $this->entity = $this->createEntity();
  // If this is an entity with field UI enabled, then add a configurable
  // field. We will use this configurable field in later tests to ensure that
  // field configuration invalidate render cache entries.
  if ($this->entity
    ->getEntityType()
    ->get('field_ui_base_route')) {
    // Add field, so we can modify the field storage and field entities to
    // verify that changes to those indeed clear cache tags.
    FieldStorageConfig::create([
      'field_name' => 'configurable_field',
      'entity_type' => $this->entity
        ->getEntityTypeId(),
      'type' => 'test_field',
      'settings' => [],
    ])
      ->save();
    FieldConfig::create([
      'entity_type' => $this->entity
        ->getEntityTypeId(),
      'bundle' => $this->entity
        ->bundle(),
      'field_name' => 'configurable_field',
      'label' => 'Configurable field',
      'settings' => [],
    ])
      ->save();
    // Reload the entity now that a new field has been added to it.
    $storage = $this->container
      ->get('entity_type.manager')
      ->getStorage($this->entity
      ->getEntityTypeId());
    $storage->resetCache();
    $this->entity = $storage->load($this->entity
      ->id());
  }
  // Create a referencing and a non-referencing entity.
  [
    $this->referencingEntity,
    $this->nonReferencingEntity,
  ] = $this->createReferenceTestEntities($this->entity);
}

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