class AdminAjaxTest in Drupal 10
Tests the admin UI AJAX interactions.
@group views_ui
Hierarchy
- class \Drupal\Tests\BrowserTestBase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, FunctionalTestSetupTrait, TestSetupTrait, BlockCreationTrait, ConfigTestTrait, ExtensionListTestTrait, ContentTypeCreationTrait, NodeCreationTrait, RandomGeneratorTrait, TestRequirementsTrait, PhpUnitWarnings, UiHelperTrait, UserCreationTrait, XdebugRequestTrait- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase- class \Drupal\Tests\views_ui\FunctionalJavascript\AdminAjaxTest
 
 
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase
Expanded class hierarchy of AdminAjaxTest
File
- core/modules/ views_ui/ tests/ src/ FunctionalJavascript/ AdminAjaxTest.php, line 12 
Namespace
Drupal\Tests\views_ui\FunctionalJavascriptView source
class AdminAjaxTest extends WebDriverTestBase {
  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'views_ui',
  ];
  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'views_test_classy_subtheme';
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this
      ->drupalLogin($this
      ->createUser([
      'administer views',
    ]));
  }
  /**
   * Confirms that form_alter is triggered after AJAX rebuilds.
   */
  public function testAjaxRebuild() {
    \Drupal::service('theme_installer')
      ->install([
      'views_test_classy_subtheme',
    ]);
    $this
      ->config('system.theme')
      ->set('default', 'views_test_classy_subtheme')
      ->save();
    $page = $this
      ->getSession()
      ->getPage();
    $assert_session = $this
      ->assertSession();
    $this
      ->drupalGet('admin/structure/views/view/user_admin_people');
    $assert_session
      ->pageTextContains('This is text added to the display tabs at the top');
    $assert_session
      ->pageTextContains('This is text added to the display edit form');
    $page
      ->clickLink('User: Name (Username)');
    $assert_session
      ->waitForElementVisible('css', '.views-ui-dialog');
    $page
      ->fillField('Label', 'New Title');
    $page
      ->find('css', '.ui-dialog-buttonset button:contains("Apply")')
      ->press();
    $assert_session
      ->waitForElementRemoved('css', '.views-ui-dialog');
    $assert_session
      ->pageTextContains('This is text added to the display tabs at the top');
    $assert_session
      ->pageTextContains('This is text added to the display edit form');
  }
}