From d2da6f29b3f91af9bdd581ab9f6320c34e16358b Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Fri, 27 Aug 2021 12:18:57 +0100
Subject: [PATCH] Issue #3228634 by Spokje, xjm, paulocs, tim.plunkett,
 Lendude: Move tests for integrations between QuickEdit and other modules into
 QuickEdit so that it can more easily be moved into contrib

(cherry picked from commit e4ce9936ea6a09e9080b581d400a092c92ea819b)
---
 ...diaEmbedFilterDisabledIntegrationsTest.php | 21 +-------
 .../EditorIntegrationLoadingTest.php}         |  7 +--
 .../Functional/LayoutBuilderQuickEditTest.php |  5 +-
 .../QuickEditImageControllerTest.php          |  5 +-
 .../InlineFormErrorsIntegrationTest.php}      |  7 +--
 .../LayoutBuilderQuickEditTest.php            |  6 +--
 .../QuickEditImageEditorTestTrait.php         |  2 +-
 .../QuickEditImageTest.php                    |  6 +--
 .../SettingsTrayIntegrationTest.php}          |  8 +--
 .../src/Kernel/EditorIntegrationTest.php}     |  8 +--
 ...diaEmbedFilterDisabledIntegrationsTest.php | 54 +++++++++++++++++++
 11 files changed, 86 insertions(+), 43 deletions(-)
 rename core/modules/{editor/tests/src/Functional/QuickEditIntegrationLoadingTest.php => quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php} (97%)
 rename core/modules/{layout_builder => quickedit}/tests/src/Functional/LayoutBuilderQuickEditTest.php (95%)
 rename core/modules/{image => quickedit}/tests/src/Functional/QuickEditImageControllerTest.php (98%)
 rename core/modules/{inline_form_errors/tests/src/FunctionalJavascript/FormErrorHandlerQuickEditTest.php => quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php} (94%)
 rename core/modules/{layout_builder => quickedit}/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php (98%)
 rename core/modules/{image => quickedit}/tests/src/FunctionalJavascript/QuickEditImageEditorTestTrait.php (98%)
 rename core/modules/{image => quickedit}/tests/src/FunctionalJavascript/QuickEditImageTest.php (98%)
 rename core/modules/{settings_tray/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php => quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php} (96%)
 rename core/modules/{editor/tests/src/Kernel/QuickEditIntegrationTest.php => quickedit/tests/src/Kernel/EditorIntegrationTest.php} (97%)
 create mode 100644 core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php

diff --git a/core/modules/media/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php b/core/modules/media/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php
index 583250ead46b..b6768b1b0e6f 100644
--- a/core/modules/media/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php
+++ b/core/modules/media/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php
@@ -15,7 +15,6 @@ class MediaEmbedFilterDisabledIntegrationsTest extends MediaEmbedFilterTestBase
    */
   protected static $modules = [
     'contextual',
-    'quickedit',
     // @see media_test_embed_entity_view_alter()
     'media_test_embed',
   ];
@@ -29,16 +28,14 @@ protected function setUp(): void {
     $this->container->get('current_user')
       ->addRole($this->drupalCreateRole([
         'access contextual links',
-        'access in-place editing',
       ]));
   }
 
   /**
    * @covers ::renderMedia
    * @covers ::disableContextualLinks
-   * @dataProvider providerDisabledIntegrations
    */
-  public function testDisabledIntegrations($integration_detection_selector) {
+  public function testDisabledIntegrations() {
     $text = $this->createEmbedCode([
       'data-entity-type' => 'media',
       'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
@@ -46,21 +43,7 @@ public function testDisabledIntegrations($integration_detection_selector) {
 
     $this->applyFilter($text);
     $this->assertCount(1, $this->cssSelect('div[data-media-embed-test-view-mode]'));
-    $this->assertCount(0, $this->cssSelect($integration_detection_selector));
-  }
-
-  /**
-   * Data provider for testDisabledIntegrations().
-   */
-  public function providerDisabledIntegrations() {
-    return [
-      'contextual' => [
-        'div[data-media-embed-test-view-mode].contextual-region',
-      ],
-      'quickedit' => [
-        'div[data-media-embed-test-view-mode][data-quickedit-entity-id]',
-      ],
-    ];
+    $this->assertCount(0, $this->cssSelect('div[data-media-embed-test-view-mode].contextual-region'));
   }
 
 }
diff --git a/core/modules/editor/tests/src/Functional/QuickEditIntegrationLoadingTest.php b/core/modules/quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php
similarity index 97%
rename from core/modules/editor/tests/src/Functional/QuickEditIntegrationLoadingTest.php
rename to core/modules/quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php
index 822922322b6e..c766bcac6f95 100644
--- a/core/modules/editor/tests/src/Functional/QuickEditIntegrationLoadingTest.php
+++ b/core/modules/quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\Tests\editor\Functional;
+namespace Drupal\Tests\quickedit\Functional;
 
 use Drupal\Component\Serialization\Json;
 use Drupal\Core\EventSubscriber\MainContentViewSubscriber;
@@ -10,9 +10,9 @@
 /**
  * Tests Quick Edit module integration endpoints.
  *
- * @group editor
+ * @group quickedit
  */
-class QuickEditIntegrationLoadingTest extends BrowserTestBase {
+class EditorIntegrationLoadingTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
@@ -71,6 +71,7 @@ protected function setUp(): void {
    * Tests loading of untransformed text when a user doesn't have access to it.
    */
   public function testUsersWithoutPermission() {
+    $this->fail();
     // Create 3 users, each with insufficient permissions, i.e. without either
     // or both of the following permissions:
     // - the 'access in-place editing' permission
diff --git a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderQuickEditTest.php b/core/modules/quickedit/tests/src/Functional/LayoutBuilderQuickEditTest.php
similarity index 95%
rename from core/modules/layout_builder/tests/src/Functional/LayoutBuilderQuickEditTest.php
rename to core/modules/quickedit/tests/src/Functional/LayoutBuilderQuickEditTest.php
index 7da55cc8f90c..06ddb323987c 100644
--- a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderQuickEditTest.php
+++ b/core/modules/quickedit/tests/src/Functional/LayoutBuilderQuickEditTest.php
@@ -1,13 +1,13 @@
 <?php
 
-namespace Drupal\Tests\layout_builder\Functional;
+namespace Drupal\Tests\quickedit\Functional;
 
 use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests Layout Builder integration with Quick Edit.
  *
- * @group layout_builder
+ * @group quickedit
  */
 class LayoutBuilderQuickEditTest extends BrowserTestBase {
 
@@ -45,6 +45,7 @@ protected function setUp(): void {
    * Tests Quick Edit integration with a block from a different entity type.
    */
   public function testPlaceFieldBlockFromDifferentEntityType() {
+    $this->fail();
     $page = $this->getSession()->getPage();
 
     $this->drupalLogin($this->drupalCreateUser([
diff --git a/core/modules/image/tests/src/Functional/QuickEditImageControllerTest.php b/core/modules/quickedit/tests/src/Functional/QuickEditImageControllerTest.php
similarity index 98%
rename from core/modules/image/tests/src/Functional/QuickEditImageControllerTest.php
rename to core/modules/quickedit/tests/src/Functional/QuickEditImageControllerTest.php
index 66e386eae259..82416d1ab14e 100644
--- a/core/modules/image/tests/src/Functional/QuickEditImageControllerTest.php
+++ b/core/modules/quickedit/tests/src/Functional/QuickEditImageControllerTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\Tests\image\Functional;
+namespace Drupal\Tests\quickedit\Functional;
 
 use Drupal\Component\Serialization\Json;
 use Drupal\Tests\BrowserTestBase;
@@ -10,7 +10,7 @@
 /**
  * Tests the endpoints used by the "image" in-place editor.
  *
- * @group image
+ * @group quickedit
  */
 class QuickEditImageControllerTest extends BrowserTestBase {
 
@@ -76,6 +76,7 @@ protected function setUp(): void {
    * Tests that routes restrict access for un-privileged users.
    */
   public function testAccess() {
+    $this->fail();
     // Create an anonymous user.
     $user = $this->createUser();
     $this->drupalLogin($user);
diff --git a/core/modules/inline_form_errors/tests/src/FunctionalJavascript/FormErrorHandlerQuickEditTest.php b/core/modules/quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php
similarity index 94%
rename from core/modules/inline_form_errors/tests/src/FunctionalJavascript/FormErrorHandlerQuickEditTest.php
rename to core/modules/quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php
index b64ebf98cc16..eb154e881802 100644
--- a/core/modules/inline_form_errors/tests/src/FunctionalJavascript/FormErrorHandlerQuickEditTest.php
+++ b/core/modules/quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\Tests\inline_form_errors\FunctionalJavascript;
+namespace Drupal\Tests\quickedit\FunctionalJavascript;
 
 use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
 use Drupal\node\Entity\NodeType;
@@ -8,9 +8,9 @@
 /**
  * Tests Inline Form Errors compatibility with Quick Edit.
  *
- * @group inline_form_errors
+ * @group quickedit
  */
-class FormErrorHandlerQuickEditTest extends WebDriverTestBase {
+class InlineFormErrorsIntegrationTest extends WebDriverTestBase {
 
   /**
    * Modules to enable.
@@ -60,6 +60,7 @@ protected function setUp(): void {
    * Tests that the inline form errors are not visible for Quick Edit forms.
    */
   public function testDisabledInlineFormErrors() {
+    $this->fail();
     $session = $this->getSession();
     $web_assert = $this->assertSession();
 
diff --git a/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php b/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php
similarity index 98%
rename from core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php
rename to core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php
index 48e697043bbd..b25cf8750cb9 100644
--- a/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php
+++ b/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php
@@ -1,11 +1,10 @@
 <?php
 
-namespace Drupal\Tests\layout_builder\FunctionalJavascript;
+namespace Drupal\Tests\quickedit\FunctionalJavascript;
 
 use Drupal\node\Entity\NodeType;
 use Drupal\Tests\contextual\FunctionalJavascript\ContextualLinkClickTrait;
 use Drupal\Tests\field\Traits\EntityReferenceTestTrait;
-use Drupal\Tests\quickedit\FunctionalJavascript\QuickEditJavascriptTestBase;
 
 /**
  * Tests that Layout Builder functions with Quick Edit.
@@ -13,7 +12,7 @@
  * @covers layout_builder_entity_view_alter()
  * @covers layout_builder_quickedit_render_field()
  *
- * @group layout_builder
+ * @group quickedit
  */
 class LayoutBuilderQuickEditTest extends QuickEditJavascriptTestBase {
 
@@ -94,6 +93,7 @@ protected function setUp(): void {
    * @see https://www.drupal.org/project/drupal/issues/3041850
    */
   public function testQuickEditIgnoresDuplicateFields() {
+    $this->fail();
     // Place the body field a second time using Layout Builder.
     $this->enableLayouts('admin/structure/types/manage/article/display/default');
     $page = $this->getSession()->getPage();
diff --git a/core/modules/image/tests/src/FunctionalJavascript/QuickEditImageEditorTestTrait.php b/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageEditorTestTrait.php
similarity index 98%
rename from core/modules/image/tests/src/FunctionalJavascript/QuickEditImageEditorTestTrait.php
rename to core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageEditorTestTrait.php
index c23342db9a47..f647d88b28df 100644
--- a/core/modules/image/tests/src/FunctionalJavascript/QuickEditImageEditorTestTrait.php
+++ b/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageEditorTestTrait.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\Tests\image\FunctionalJavascript;
+namespace Drupal\Tests\quickedit\FunctionalJavascript;
 
 /**
  * @see \Drupal\image\Plugin\InPlaceEditor\Image
diff --git a/core/modules/image/tests/src/FunctionalJavascript/QuickEditImageTest.php b/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageTest.php
similarity index 98%
rename from core/modules/image/tests/src/FunctionalJavascript/QuickEditImageTest.php
rename to core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageTest.php
index d97faf89e47c..4b1a0f9ea5a9 100644
--- a/core/modules/image/tests/src/FunctionalJavascript/QuickEditImageTest.php
+++ b/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageTest.php
@@ -1,15 +1,14 @@
 <?php
 
-namespace Drupal\Tests\image\FunctionalJavascript;
+namespace Drupal\Tests\quickedit\FunctionalJavascript;
 
 use Drupal\file\Entity\File;
 use Drupal\Tests\image\Kernel\ImageFieldCreationTrait;
-use Drupal\Tests\quickedit\FunctionalJavascript\QuickEditJavascriptTestBase;
 use Drupal\Tests\TestFileCreationTrait;
 
 /**
  * @coversDefaultClass \Drupal\image\Plugin\InPlaceEditor\Image
- * @group image
+ * @group quickedit
  */
 class QuickEditImageTest extends QuickEditJavascriptTestBase {
 
@@ -63,6 +62,7 @@ protected function setUp(): void {
    * @covers ::getAttachments
    */
   public function testImageInPlaceEditor() {
+    $this->fail();
     // Create a field with a basic filetype restriction.
     $field_name = strtolower($this->randomMachineName());
     $field_settings = [
diff --git a/core/modules/settings_tray/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php b/core/modules/quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php
similarity index 96%
rename from core/modules/settings_tray/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php
rename to core/modules/quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php
index 7c7313beab07..c3108cf84a25 100644
--- a/core/modules/settings_tray/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php
+++ b/core/modules/quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php
@@ -1,17 +1,18 @@
 <?php
 
-namespace Drupal\Tests\settings_tray\FunctionalJavascript;
+namespace Drupal\Tests\quickedit\FunctionalJavascript;
 
 use Drupal\block_content\Entity\BlockContent;
 use Drupal\block_content\Entity\BlockContentType;
+use Drupal\Tests\settings_tray\FunctionalJavascript\SettingsTrayTestBase;
 use Drupal\user\Entity\Role;
 
 /**
  * Test Settings Tray and Quick Edit modules integration.
  *
- * @group settings_tray
+ * @group quickedit
  */
-class QuickEditIntegrationTest extends SettingsTrayTestBase {
+class SettingsTrayIntegrationTest extends SettingsTrayTestBase {
 
   /**
    * {@inheritdoc}
@@ -47,6 +48,7 @@ protected function setUp(): void {
    * Tests QuickEdit links behavior.
    */
   public function testQuickEditLinks() {
+    $this->fail();
     $quick_edit_selector = '#quickedit-entity-toolbar';
     $node_selector = '[data-quickedit-entity-id="node/1"]';
     $body_selector = '[data-quickedit-field-id="node/1/body/en/full"]';
diff --git a/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php b/core/modules/quickedit/tests/src/Kernel/EditorIntegrationTest.php
similarity index 97%
rename from core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php
rename to core/modules/quickedit/tests/src/Kernel/EditorIntegrationTest.php
index 9f49d76d0774..645e592da9eb 100644
--- a/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php
+++ b/core/modules/quickedit/tests/src/Kernel/EditorIntegrationTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\Tests\editor\Kernel;
+namespace Drupal\Tests\quickedit\Kernel;
 
 use Drupal\Component\Serialization\Json;
 use Drupal\Core\EventSubscriber\AjaxResponseSubscriber;
@@ -8,7 +8,6 @@
 use Drupal\editor\Entity\Editor;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\quickedit\MetadataGenerator;
-use Drupal\Tests\quickedit\Kernel\QuickEditTestBase;
 use Drupal\quickedit_test\MockQuickEditEntityFieldAccessCheck;
 use Drupal\editor\EditorController;
 use Symfony\Component\HttpFoundation\Request;
@@ -19,9 +18,9 @@
 /**
  * Tests Edit module integration (Editor module's inline editing support).
  *
- * @group editor
+ * @group quickedit
  */
-class QuickEditIntegrationTest extends QuickEditTestBase {
+class EditorIntegrationTest extends QuickEditTestBase {
 
   /**
    * {@inheritdoc}
@@ -139,6 +138,7 @@ protected function getSelectedEditor($entity_id, $field_name, $view_mode = 'defa
    * format compatibility.
    */
   public function testEditorSelection() {
+    $this->fail();
     $this->editorManager = $this->container->get('plugin.manager.quickedit.editor');
     $this->editorSelector = $this->container->get('quickedit.editor.selector');
 
diff --git a/core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php b/core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php
new file mode 100644
index 000000000000..7557d5cf7913
--- /dev/null
+++ b/core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php
@@ -0,0 +1,54 @@
+<?php
+
+namespace Drupal\Tests\quickedit\Kernel;
+
+use Drupal\Tests\media\Kernel\MediaEmbedFilterTestBase;
+
+/**
+ * Tests that media embed disables certain integrations.
+ *
+ * @coversDefaultClass \Drupal\media\Plugin\Filter\MediaEmbed
+ * @group quickedit
+ */
+class MediaEmbedFilterDisabledIntegrationsTest extends MediaEmbedFilterTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'contextual',
+    'quickedit',
+    // @see media_test_embed_entity_view_alter()
+    'media_test_embed',
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp(): void {
+    parent::setUp();
+
+    $this->container->get('current_user')
+      ->addRole($this->drupalCreateRole([
+        'access contextual links',
+        'access in-place editing',
+      ]));
+  }
+
+  /**
+   * @covers ::renderMedia
+   * @covers ::disableContextualLinks
+   */
+  public function testDisabledIntegrations() {
+    $this->fail();
+    $text = $this->createEmbedCode([
+      'data-entity-type' => 'media',
+      'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
+    ]);
+
+    $this->applyFilter($text);
+    $this->assertCount(1, $this->cssSelect('div[data-media-embed-test-view-mode]'));
+    $this->assertCount(0, $this->cssSelect('div[data-media-embed-test-view-mode][data-quickedit-entity-id]'));
+  }
+
+}
-- 
GitLab