Issue #3496259 by spokje: [random test failure] LayoutSectionTest::testLayoutSectionFormatterAccess
(cherry picked from commit 2396ee2b3a
)
merge-requests/10915/head
parent
e0ef4b5f1a
commit
404d8829a3
|
@ -6,9 +6,9 @@ use Drupal\Core\Access\AccessResult;
|
|||
use Drupal\Core\Block\Attribute\Block;
|
||||
use Drupal\Core\Block\BlockBase;
|
||||
use Drupal\Core\Cache\Cache;
|
||||
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
|
||||
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
|
||||
use Drupal\Core\Session\AccountInterface;
|
||||
use Drupal\Core\State\StateInterface;
|
||||
use Drupal\Core\StringTranslation\TranslatableMarkup;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
|
||||
|
@ -21,11 +21,6 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
|
|||
)]
|
||||
class TestAccessBlock extends BlockBase implements ContainerFactoryPluginInterface {
|
||||
|
||||
/**
|
||||
* The state service.
|
||||
*/
|
||||
protected StateInterface $state;
|
||||
|
||||
/**
|
||||
* Tests the test access block.
|
||||
*
|
||||
|
@ -39,13 +34,11 @@ class TestAccessBlock extends BlockBase implements ContainerFactoryPluginInterfa
|
|||
* The plugin ID for the plugin instance.
|
||||
* @param mixed $plugin_definition
|
||||
* The plugin implementation definition.
|
||||
* @param \Drupal\Core\State\StateInterface $state
|
||||
* The state.
|
||||
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $keyValue
|
||||
* The key value store.
|
||||
*/
|
||||
public function __construct(array $configuration, $plugin_id, $plugin_definition, StateInterface $state) {
|
||||
public function __construct(array $configuration, $plugin_id, $plugin_definition, protected KeyValueStoreInterface $keyValue) {
|
||||
parent::__construct($configuration, $plugin_id, $plugin_definition);
|
||||
|
||||
$this->state = $state;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -56,7 +49,7 @@ class TestAccessBlock extends BlockBase implements ContainerFactoryPluginInterfa
|
|||
$configuration,
|
||||
$plugin_id,
|
||||
$plugin_definition,
|
||||
$container->get('state')
|
||||
$container->get('keyvalue')->get('block_test')
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -64,7 +57,7 @@ class TestAccessBlock extends BlockBase implements ContainerFactoryPluginInterfa
|
|||
* {@inheritdoc}
|
||||
*/
|
||||
protected function blockAccess(AccountInterface $account) {
|
||||
return $this->state->get('test_block_access', FALSE) ? AccessResult::allowed()->setCacheMaxAge(0) : AccessResult::forbidden()->setCacheMaxAge(0);
|
||||
return $this->keyValue->get('access', FALSE) ? AccessResult::allowed()->setCacheMaxAge(0) : AccessResult::forbidden()->setCacheMaxAge(0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -576,7 +576,7 @@ class BlockTest extends BlockTestBase {
|
|||
$this->drupalGet('<front>');
|
||||
$this->assertSession()->pageTextNotContains('Hello test world');
|
||||
|
||||
\Drupal::state()->set('test_block_access', TRUE);
|
||||
\Drupal::keyValue('block_test')->set('access', TRUE);
|
||||
$this->drupalGet('<front>');
|
||||
$this->assertSession()->pageTextContains('Hello test world');
|
||||
}
|
||||
|
|
|
@ -197,7 +197,7 @@ class LayoutSectionTest extends BrowserTestBase {
|
|||
]);
|
||||
|
||||
// Restrict access to the block.
|
||||
$this->container->get('state')->set('test_block_access', FALSE);
|
||||
$this->container->get('keyvalue')->get('block_test')->set('access', FALSE);
|
||||
|
||||
$this->drupalGet($node->toUrl('canonical'));
|
||||
$this->assertLayoutSection('.layout--onecol', NULL, '', '', 'UNCACHEABLE (poor cacheability)');
|
||||
|
@ -205,7 +205,7 @@ class LayoutSectionTest extends BrowserTestBase {
|
|||
$this->assertSession()->pageTextNotContains('Hello test world');
|
||||
|
||||
// Grant access to the block, and ensure it was rendered.
|
||||
$this->container->get('state')->set('test_block_access', TRUE);
|
||||
$this->container->get('keyvalue')->get('block_test')->set('access', TRUE);
|
||||
$this->drupalGet($node->toUrl('canonical'));
|
||||
$this->assertLayoutSection('.layout--onecol', 'Hello test world', '', '', 'UNCACHEABLE (poor cacheability)');
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue