Issue #3304371 by bnjmnm: Fix intermittent failure in AjaxBlockTest

(cherry picked from commit f33a8bebea)
merge-requests/2643/merge
xjm 2022-08-23 19:38:25 -05:00
parent 3fb9459a72
commit 78fac59e5c
No known key found for this signature in database
GPG Key ID: 206B0B8743BDF4C2
1 changed files with 7 additions and 1 deletions

View File

@ -4,6 +4,7 @@ namespace Drupal\Tests\layout_builder\FunctionalJavascript;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay;
use Drupal\Tests\system\Traits\OffCanvasTestTrait;
/**
* Ajax blocks tests.
@ -12,6 +13,8 @@ use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay;
*/
class AjaxBlockTest extends WebDriverTestBase {
use OffCanvasTestTrait;
/**
* {@inheritdoc}
*/
@ -22,6 +25,7 @@ class AjaxBlockTest extends WebDriverTestBase {
'layout_builder',
'user',
'layout_builder_test',
'off_canvas_test',
];
/**
@ -78,14 +82,15 @@ class AjaxBlockTest extends WebDriverTestBase {
// Add a new block.
$assert_session->linkExists('Add block');
$this->clickLink('Add block');
$this->waitForOffCanvasArea();
$assert_session->assertWaitOnAjaxRequest();
$assert_session->linkExists('TestAjax');
$this->clickLink('TestAjax');
$this->waitForOffCanvasArea();
$assert_session->assertWaitOnAjaxRequest();
// Find the radio buttons.
$name = 'settings[ajax_test]';
/** @var \Behat\Mink\Element\NodeElement[] $radios */
$this->markTestSkipped('Temporarily skipped due to random failures.');
$radios = $this->assertSession()->fieldExists($name);
// Click them both a couple of times.
foreach ([1, 2] as $rounds) {
@ -97,6 +102,7 @@ class AjaxBlockTest extends WebDriverTestBase {
// Then add the block.
$assert_session->waitForElementVisible('named', ['button', 'Add block'])->press();
$assert_session->assertWaitOnAjaxRequest();
$assert_session->waitForElementVisible('css', '.block-layout-builder-test-testajax');
$block_elements = $this->cssSelect('.block-layout-builder-test-testajax');
// Should be exactly one of these in there.
$this->assertCount(1, $block_elements);