Issue #2254209 by smustgrave, marvil07, quietone, sun, catch, Wim Leers: Fix test performance of Drupal\system\Tests\Cache\PageCacheTagsIntegrationTest
(cherry picked from commit 57ca853a11
)
merge-requests/6119/head
parent
4729960556
commit
56c825fc56
|
@ -2,11 +2,18 @@
|
||||||
|
|
||||||
namespace Drupal\Tests\page_cache\Functional;
|
namespace Drupal\Tests\page_cache\Functional;
|
||||||
|
|
||||||
|
use Drupal\comment\Tests\CommentTestTrait;
|
||||||
use Drupal\Core\EventSubscriber\MainContentViewSubscriber;
|
use Drupal\Core\EventSubscriber\MainContentViewSubscriber;
|
||||||
use Drupal\Core\Language\LanguageInterface;
|
use Drupal\Core\Language\LanguageInterface;
|
||||||
|
use Drupal\filter\Entity\FilterFormat;
|
||||||
|
use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationContentEntity;
|
||||||
|
use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUrl;
|
||||||
use Drupal\node\NodeInterface;
|
use Drupal\node\NodeInterface;
|
||||||
use Drupal\Tests\system\Functional\Cache\AssertPageCacheContextsAndTagsTrait;
|
use Drupal\Tests\system\Functional\Cache\AssertPageCacheContextsAndTagsTrait;
|
||||||
use Drupal\Tests\BrowserTestBase;
|
use Drupal\Tests\BrowserTestBase;
|
||||||
|
use Drupal\user\Entity\Role;
|
||||||
|
use Drupal\user\RoleInterface;
|
||||||
|
use Symfony\Component\Yaml\Yaml;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables the page cache and tests its cache tags in various scenarios.
|
* Enables the page cache and tests its cache tags in various scenarios.
|
||||||
|
@ -17,11 +24,29 @@ use Drupal\Tests\BrowserTestBase;
|
||||||
class PageCacheTagsIntegrationTest extends BrowserTestBase {
|
class PageCacheTagsIntegrationTest extends BrowserTestBase {
|
||||||
|
|
||||||
use AssertPageCacheContextsAndTagsTrait;
|
use AssertPageCacheContextsAndTagsTrait;
|
||||||
|
use CommentTestTrait;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
protected $profile = 'standard';
|
protected $defaultTheme = 'olivero';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modules to enable.
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected static $modules = [
|
||||||
|
'big_pipe',
|
||||||
|
'block',
|
||||||
|
'comment',
|
||||||
|
'editor',
|
||||||
|
'filter',
|
||||||
|
'language',
|
||||||
|
'help',
|
||||||
|
'node',
|
||||||
|
'search',
|
||||||
|
'views',
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
|
@ -36,6 +61,32 @@ class PageCacheTagsIntegrationTest extends BrowserTestBase {
|
||||||
* Tests that cache tags are properly bubbled up to the page level.
|
* Tests that cache tags are properly bubbled up to the page level.
|
||||||
*/
|
*/
|
||||||
public function testPageCacheTags() {
|
public function testPageCacheTags() {
|
||||||
|
$config = $this->config('language.types');
|
||||||
|
$config->set('configurable', [LanguageInterface::TYPE_INTERFACE, LanguageInterface::TYPE_CONTENT]);
|
||||||
|
$config->set('negotiation.language_content.enabled', [
|
||||||
|
LanguageNegotiationUrl::METHOD_ID => 0,
|
||||||
|
LanguageNegotiationContentEntity::METHOD_ID => 1,
|
||||||
|
]);
|
||||||
|
$config->save();
|
||||||
|
|
||||||
|
// Create two filters.
|
||||||
|
FilterFormat::create(
|
||||||
|
Yaml::parseFile('core/profiles/standard/config/install/filter.format.basic_html.yml')
|
||||||
|
)->save();
|
||||||
|
FilterFormat::create(
|
||||||
|
Yaml::parseFile('core/profiles/standard/config/install/filter.format.full_html.yml')
|
||||||
|
)->save();
|
||||||
|
|
||||||
|
$this->drupalCreateContentType(['type' => 'page', 'title' => 'Basic page']);
|
||||||
|
$this->addDefaultCommentField('node', 'page');
|
||||||
|
|
||||||
|
// To generate search and comment tags.
|
||||||
|
$anonymous = Role::load(RoleInterface::ANONYMOUS_ID);
|
||||||
|
$anonymous
|
||||||
|
->grantPermission('search content')
|
||||||
|
->grantPermission('access comments');
|
||||||
|
$anonymous->save();
|
||||||
|
|
||||||
// Create two nodes.
|
// Create two nodes.
|
||||||
$author_1 = $this->drupalCreateUser();
|
$author_1 = $this->drupalCreateUser();
|
||||||
$node_1 = $this->drupalCreateNode([
|
$node_1 = $this->drupalCreateNode([
|
||||||
|
@ -80,7 +131,7 @@ class PageCacheTagsIntegrationTest extends BrowserTestBase {
|
||||||
'cookies:big_pipe_nojs',
|
'cookies:big_pipe_nojs',
|
||||||
'session.exists',
|
'session.exists',
|
||||||
'user.permissions',
|
'user.permissions',
|
||||||
'user.roles:authenticated',
|
'user.roles',
|
||||||
];
|
];
|
||||||
|
|
||||||
// Full node page 1.
|
// Full node page 1.
|
||||||
|
|
Loading…
Reference in New Issue