function EntityUnitTest::testPostSaveBundle
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testPostSaveBundle()
- 8.9.x core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testPostSaveBundle()
- 11.x core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testPostSaveBundle()
@covers ::postSave
File
-
core/
tests/ Drupal/ Tests/ Core/ Entity/ EntityUnitTest.php, line 426
Class
- EntityUnitTest
- @coversDefaultClass \Drupal\Core\Entity\EntityBase @group Entity @group Access
Namespace
Drupal\Tests\Core\EntityCode
public function testPostSaveBundle() : void {
$this->entityType
->expects($this->atLeastOnce())
->method('hasKey')
->with('bundle')
->willReturn(TRUE);
// 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 global list cache tag
// and the one for the bundle.
$this->entity
->postSave($storage, FALSE);
$this->cacheTagsInvalidator
->invalidateTags([
$this->entityTypeId . '_list',
$this->entityTypeId . '_list:' . $this->entity
->bundle(),
])
->shouldHaveBeenCalledOnce();
// An update should trigger the invalidation of the "list", bundle list and
// the "own" cache tags.
$this->entity
->postSave($storage, TRUE);
$this->cacheTagsInvalidator
->invalidateTags([
$this->entityTypeId . '_list',
$this->entityTypeId . '_list:' . $this->entity
->bundle(),
$this->entityTypeId . ':' . $this->values['id'],
])
->shouldHaveBeenCalledOnce();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.