function EntityUnitTest::testPostSave

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testPostSave()
  2. 8.9.x core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testPostSave()
  3. 11.x core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testPostSave()

@covers ::postSave

File

core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php, line 404

Class

EntityUnitTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Entity%21EntityBase.php/class/EntityBase/10" title="Defines a base entity class." class="local">\Drupal\Core\Entity\EntityBase</a> @group Entity @group Access

Namespace

Drupal\Tests\Core\Entity

Code

public function testPostSave() {
    // This method is internal, so check for errors on calling it only.
    $storage = $this->createMock('\\Drupal\\Core\\Entity\\EntityStorageInterface');
    // A creation should trigger the invalidation of the "list" cache tag.
    $this->entity
        ->postSave($storage, FALSE);
    $this->cacheTagsInvalidator
        ->invalidateTags([
        $this->entityTypeId . '_list',
    ])
        ->shouldHaveBeenCalledOnce();
    // An update should trigger the invalidation of both the "list" and the
    // "own" cache tags.
    $this->entity
        ->postSave($storage, TRUE);
    $this->cacheTagsInvalidator
        ->invalidateTags([
        $this->entityTypeId . '_list',
        $this->entityTypeId . ':' . $this->values['id'],
    ])
        ->shouldHaveBeenCalledOnce();
}

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