TourCacheTagsTest.php in Drupal 9
File
core/modules/tour/tests/src/Functional/TourCacheTagsTest.php
View source
<?php
namespace Drupal\Tests\tour\Functional;
use Drupal\Core\Url;
use Drupal\Tests\system\Functional\Cache\PageCacheTagsTestBase;
use Drupal\tour\Entity\Tour;
use Drupal\user\Entity\Role;
use Drupal\user\RoleInterface;
class TourCacheTagsTest extends PageCacheTagsTestBase {
protected static $modules = [
'tour',
'tour_test',
];
protected $defaultTheme = 'stark';
protected function setUp() : void {
parent::setUp();
Role::load(RoleInterface::ANONYMOUS_ID)
->grantPermission('access tour')
->save();
}
public function testRenderedTour() {
$url = Url::fromRoute('tour_test.1');
$this
->verifyPageCache($url, 'MISS');
$expected_tags = [
'config:tour.tour.tour-test',
'config:user.role.anonymous',
'http_response',
'rendered',
];
$this
->verifyPageCache($url, 'HIT', $expected_tags);
Tour::load('tour-test')
->save();
$this
->verifyPageCache($url, 'MISS');
$this
->verifyPageCache($url, 'HIT', $expected_tags);
Tour::load('tour-test')
->delete();
$this
->verifyPageCache($url, 'MISS');
$expected_tags = [
'config:user.role.anonymous',
'http_response',
'rendered',
];
$this
->verifyPageCache($url, 'HIT', $expected_tags);
}
}