features-8.x-3.11/modules/features_ui/tests/src/FunctionalJavascript/FeaturesUiAjaxTest.php
modules/features_ui/tests/src/FunctionalJavascript/FeaturesUiAjaxTest.php
<?php namespace Drupal\Tests\features_ui\FunctionalJavascript; use Drupal\Core\Url; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; /** * Tests the creation of a features bundle using AJAX. * * @group features_ui */ class FeaturesUiAjaxTest extends WebDriverTestBase { /** * The variable. * * @var mixed * @todo Remove the disabled strict config schema checking. */ protected $strictConfigSchema = FALSE; /** * {@inheritdoc} */ protected static $modules = ['features', 'features_ui']; /** * {@inheritdoc} */ protected $defaultTheme = 'stark'; /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); $user = $this->drupalCreateUser(['administer site configuration', 'export configuration']); $this->drupalLogin($user); } /** * Tests feature bundle creation with AJAX saves configuration. */ public function testActionConfigurationWithAjax() { $url = Url::fromRoute('features.export'); $this->drupalGet($url); $this->assertSession()->pageTextContains('You have not yet created any bundles.'); $url = Url::fromRoute('features.assignment'); $this->drupalGet($url); $page = $this->getSession()->getPage(); $page->find('css', '[name="bundle[bundle_select]"]') ->setValue('new'); $this->assertSession()->waitForElementVisible('css', '[name="bundle[name]"][value=""]') ->setValue('foo'); $this->assertSession()->waitForElementVisible('css', 'button[class="link"][type="button"]') ->click(); $this->assertSession()->waitForElementVisible('css', '[name="bundle[machine_name]"]') ->setValue('foo'); $page = $this->getSession()->getPage(); $page->find('css', '[name="bundle[description]"]') ->setValue($this->randomString()); $page->find('css', '[value="Save settings"]') ->click(); $url = Url::fromRoute('features.export'); $this->drupalGet($url); $this->assertSession()->pageTextNotContains('You have not yet created any bundles.'); } }