Commit 35c628fb authored by catch's avatar catch
Browse files

task: #3587564 Move search functionality from node to Search module

By: quietone
By: smustgrave
By: berdir
By: catch
By: godotislate
(cherry picked from commit 92c94c6e)
parent 9cefcf81
Loading
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -127,10 +127,5 @@ function search_schema(): array {
 * Install Search Node and Search and Node are installed.
 */
function search_update_11400(): void {
  $module_handler = \Drupal::moduleHandler();
  if ($module_handler->moduleExists('node')) {
    \Drupal::configFactory()->getEditable('core.entity_view_mode.node.search_index')->delete();
    \Drupal::configFactory()->getEditable('core.entity_view_mode.node.search_result')->delete();
    \Drupal::service('module_installer')->install(['search_node']);
  }
  // Moved to system_update_11401().
}
+5 −2
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@

namespace Drupal\Tests\search\Functional\Update;

use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\FunctionalTests\Update\UpdatePathTestBase;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
@@ -30,9 +31,9 @@ protected function setDatabaseDumpFiles(): void {
  }

  /**
   * Tests system_update_12002.
   * Tests system_update_11401.
   *
   * @see system_update_12002()
   * @see system_update_11401()
   */
  public function testSearchHelpInstall(): void {
    $this->assertFalse(\Drupal::moduleHandler()->moduleExists('search_node'));
@@ -40,6 +41,8 @@ public function testSearchHelpInstall(): void {
    $this->runUpdates();

    $this->assertTrue(\Drupal::moduleHandler()->moduleExists('search_node'));
    $nodeSearchPage = $this->container->get(EntityTypeManagerInterface::class)->getStorage('search_page')->load('node_search');
    $this->assertSame(['search_node'], $nodeSearchPage->toArray()['dependencies']['module']);
  }

}
+20 −0
Original line number Diff line number Diff line
@@ -181,3 +181,23 @@ function system_update_11400(): void {
    }
  }
}

/**
 * Install Search node module if node and search are installed.
 */
function system_update_11401(): void {
  $module_list = \Drupal::moduleHandler()->getModuleList();
  if (!isset($module_list['node']) || !isset($module_list['search'])) {
    return;
  }

  if (!isset($module_list['search_node'])) {
    \Drupal::configFactory()->getEditable('core.entity_view_mode.node.search_index')->delete();
    \Drupal::configFactory()->getEditable('core.entity_view_mode.node.search_result')->delete();
    \Drupal::service('module_installer')->install(['search_node']);
  }

  /** @var \Drupal\search\SearchPageInterface|null $node_search_page */
  $node_search_page = \Drupal::entityTypeManager()->getStorage('search_page')->load('node_search');
  $node_search_page?->calculateDependencies()->save();
}