FieldTest.php

Same filename in this branch
  1. 8.9.x core/modules/field/tests/src/Kernel/Plugin/migrate/source/d6/FieldTest.php
  2. 8.9.x core/modules/field/tests/src/Kernel/Plugin/migrate/source/d7/FieldTest.php
  3. 8.9.x core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php
  4. 8.9.x core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/FieldTest.php
  5. 8.9.x core/modules/views/tests/modules/views_test_data/src/Plugin/views/field/FieldTest.php
Same filename and directory in other branches
  1. 9 core/modules/field/tests/src/Kernel/Plugin/migrate/source/d6/FieldTest.php
  2. 9 core/modules/field/tests/src/Kernel/Plugin/migrate/source/d7/FieldTest.php
  3. 9 core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php
  4. 9 core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/FieldTest.php
  5. 9 core/modules/views/tests/modules/views_test_data/src/Plugin/views/field/FieldTest.php
  6. 9 core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php
  7. 10 core/modules/field/tests/src/Kernel/Plugin/migrate/source/d6/FieldTest.php
  8. 10 core/modules/field/tests/src/Kernel/Plugin/migrate/source/d7/FieldTest.php
  9. 10 core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php
  10. 10 core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/FieldTest.php
  11. 10 core/modules/views/tests/modules/views_test_data/src/Plugin/views/field/FieldTest.php
  12. 11.x core/modules/field/tests/src/Kernel/Plugin/migrate/source/d6/FieldTest.php
  13. 11.x core/modules/field/tests/src/Kernel/Plugin/migrate/source/d7/FieldTest.php
  14. 11.x core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php
  15. 11.x core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/FieldTest.php
  16. 11.x core/modules/views/tests/modules/views_test_data/src/Plugin/views/field/FieldTest.php

Namespace

Drupal\Tests\quickedit\FunctionalJavascript

File

core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php

View source
<?php

namespace Drupal\Tests\quickedit\FunctionalJavascript;

use Drupal\editor\Entity\Editor;
use Drupal\filter\Entity\FilterFormat;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
use Drupal\node\Entity\Node;
use Drupal\node\Entity\NodeType;
use Drupal\Tests\contextual\FunctionalJavascript\ContextualLinkClickTrait;

/**
 * Tests quickedit.
 *
 * @group quickedit
 */
class FieldTest extends WebDriverTestBase {
    use ContextualLinkClickTrait;
    
    /**
     * {@inheritdoc}
     */
    public static $modules = [
        'node',
        'ckeditor',
        'contextual',
        'quickedit',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected $defaultTheme = 'stark';
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() {
        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>Sapere aude</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>|");
    }

}

Classes

Title Deprecated Summary
FieldTest Tests quickedit.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.