class FieldTest in Drupal 10
Same name in this branch
- 10 core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php \Drupal\Tests\quickedit\FunctionalJavascript\FieldTest
- 10 core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php \Drupal\Tests\views\Unit\Plugin\field\FieldTest
- 10 core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/FieldTest.php \Drupal\Tests\views\FunctionalJavascript\Plugin\views\Handler\FieldTest
- 10 core/modules/views/tests/modules/views_test_data/src/Plugin/views/field/FieldTest.php \Drupal\views_test_data\Plugin\views\field\FieldTest
- 10 core/modules/field/tests/src/Kernel/Plugin/migrate/source/d6/FieldTest.php \Drupal\Tests\field\Kernel\Plugin\migrate\source\d6\FieldTest
- 10 core/modules/field/tests/src/Kernel/Plugin/migrate/source/d7/FieldTest.php \Drupal\Tests\field\Kernel\Plugin\migrate\source\d7\FieldTest
Same name and namespace in other branches
- 8 core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php \Drupal\Tests\quickedit\FunctionalJavascript\FieldTest
- 9 core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php \Drupal\Tests\quickedit\FunctionalJavascript\FieldTest
Tests quickedit.
@group quickedit
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\quickedit\FunctionalJavascript\FieldTest uses \Drupal\Tests\contextual\FunctionalJavascript\ContextualLinkClickTrait
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase
Expanded class hierarchy of FieldTest
File
- core/
modules/ quickedit/ tests/ src/ FunctionalJavascript/ FieldTest.php, line 17
Namespace
Drupal\Tests\quickedit\FunctionalJavascriptView source
class FieldTest extends WebDriverTestBase {
use ContextualLinkClickTrait;
/**
* {@inheritdoc}
*/
protected static $modules = [
'node',
'ckeditor',
'contextual',
'quickedit',
];
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
// Create a text format and associate CKEditor.
$filtered_html_format = FilterFormat::create([
'format' => 'filtered_html',
'name' => 'Filtered HTML',
'weight' => 0,
]);
$filtered_html_format
->save();
Editor::create([
'format' => 'filtered_html',
'editor' => 'ckeditor',
])
->save();
// Create note type with body field.
$node_type = NodeType::create([
'type' => 'page',
'name' => 'Page',
]);
$node_type
->save();
node_add_body_field($node_type);
$account = $this
->drupalCreateUser([
'access content',
'administer nodes',
'edit any page content',
'use text format filtered_html',
'access contextual links',
'access in-place editing',
]);
$this
->drupalLogin($account);
}
/**
* Tests that quickeditor works correctly for field with CKEditor.
*/
public function testFieldWithCkeditor() {
$body_value = '<p>Dare to be wise</p>';
$node = Node::create([
'type' => 'page',
'title' => 'Page node',
'body' => [
[
'value' => $body_value,
'format' => 'filtered_html',
],
],
]);
$node
->save();
$page = $this
->getSession()
->getPage();
$assert = $this
->assertSession();
$this
->drupalGet('node/' . $node
->id());
// Wait "Quick edit" button for node.
$this
->assertSession()
->waitForElement('css', '[data-quickedit-entity-id="node/' . $node
->id() . '"] .contextual .quickedit');
// Click by "Quick edit".
$this
->clickContextualLink('[data-quickedit-entity-id="node/' . $node
->id() . '"]', 'Quick edit');
// Switch to body field.
$page
->find('css', '[data-quickedit-field-id="node/' . $node
->id() . '/body/en/full"]')
->click();
// Wait and click by "Blockquote" button from editor for body field.
$this
->assertSession()
->waitForElementVisible('css', '.cke_button.cke_button__blockquote')
->click();
// Wait and click by "Save" button after body field was changed.
$this
->assertSession()
->waitForElementVisible('css', '.quickedit-toolgroup.ops [type="submit"][aria-hidden="false"]')
->click();
// Wait until the save occurs and the editor UI disappears.
$this
->assertSession()
->assertNoElementAfterWait('css', '.cke_button.cke_button__blockquote');
// Ensure that the changes take effect.
$assert
->responseMatches("|<blockquote>\\s*{$body_value}\\s*</blockquote>|");
}
}