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');
}
}