CacheTagsInvalidatorTest.php in Drupal 10
File
core/tests/Drupal/Tests/Core/Cache/CacheTagsInvalidatorTest.php
View source
<?php
namespace Drupal\Tests\Core\Cache;
use Drupal\Core\Cache\CacheTagsInvalidator;
use Drupal\Core\DependencyInjection\Container;
use Drupal\Tests\UnitTestCase;
class CacheTagsInvalidatorTest extends UnitTestCase {
public function testInvalidateTagsWithInvalidTags() {
$cache_tags_invalidator = new CacheTagsInvalidator();
$this
->expectException(\AssertionError::class);
$cache_tags_invalidator
->invalidateTags([
'node' => [
2,
3,
5,
8,
13,
],
]);
}
public function testInvalidateTags() {
$cache_tags_invalidator = new CacheTagsInvalidator();
$invalidator_cache_bin = $this
->createMock('\\Drupal\\Core\\Cache\\CacheTagsInvalidator');
$invalidator_cache_bin
->expects($this
->once())
->method('invalidateTags')
->with([
'node:1',
]);
$non_invalidator_cache_bin = $this
->createMock('\\Drupal\\Core\\Cache\\CacheBackendInterface');
$container = new Container();
$container
->set('cache.invalidator_cache_bin', $invalidator_cache_bin);
$container
->set('cache.non_invalidator_cache_bin', $non_invalidator_cache_bin);
$container
->setParameter('cache_bins', [
'cache.invalidator_cache_bin' => 'invalidator_cache_bin',
'cache.non_invalidator_cache_bin' => 'non_invalidator_cache_bin',
]);
$cache_tags_invalidator
->setContainer($container);
$invalidator = $this
->createMock('\\Drupal\\Core\\Cache\\CacheTagsInvalidator');
$invalidator
->expects($this
->once())
->method('invalidateTags')
->with([
'node:1',
]);
$cache_tags_invalidator
->addInvalidator($invalidator);
$cache_tags_invalidator
->invalidateTags([
'node:1',
]);
}
}