From c9324da5e160cddd55e8ddc0dd99396ef64e6092 Mon Sep 17 00:00:00 2001
From: Kim Pepper <22609-kimpepper@users.noreply.drupalcode.org>
Date: Mon, 6 Feb 2023 00:07:35 +0000
Subject: [PATCH] Issue #3339399: Fix failing 2.x branch

---
 composer.json                                        |  2 +-
 tests/src/Unit/SearchAPI/FieldMapperTest.php         |  4 ++++
 tests/src/Unit/SearchAPI/IndexParamBuilderTest.php   |  6 ++++++
 .../Unit/SearchAPI/Query/FacetParamBuilderTest.php   |  6 +++---
 .../Unit/SearchAPI/Query/FacetResultParserTest.php   |  6 +++---
 tests/src/Unit/SearchAPI/Query/FilterBuilderTest.php | 12 ++++++------
 .../Unit/SearchAPI/Query/QueryParamBuilderTest.php   |  9 +++++----
 7 files changed, 28 insertions(+), 17 deletions(-)

diff --git a/composer.json b/composer.json
index fc18ab5..37d20ab 100644
--- a/composer.json
+++ b/composer.json
@@ -5,7 +5,7 @@
     "license": "GPL-2.0-or-later",
     "minimum-stability": "stable",
     "require": {
-        "php": "^8",
+        "php": "^8.1",
         "drupal/search_api": "^1.23",
         "makinacorpus/php-lucene": "^1.1",
         "opensearch-project/opensearch-php": "^2.0"
diff --git a/tests/src/Unit/SearchAPI/FieldMapperTest.php b/tests/src/Unit/SearchAPI/FieldMapperTest.php
index 7265dc1..8aa6006 100644
--- a/tests/src/Unit/SearchAPI/FieldMapperTest.php
+++ b/tests/src/Unit/SearchAPI/FieldMapperTest.php
@@ -9,8 +9,10 @@ use Drupal\search_api\IndexInterface;
 use Drupal\search_api\Item\Field;
 use Drupal\search_api\Utility\DataTypeHelperInterface;
 use Drupal\search_api\Utility\FieldsHelper;
+use Drupal\search_api_opensearch\Event\FieldMappingEvent;
 use Drupal\search_api_opensearch\SearchAPI\FieldMapper;
 use Drupal\Tests\UnitTestCase;
+use Prophecy\Argument;
 use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
 
 /**
@@ -32,7 +34,9 @@ class FieldMapperTest extends UnitTestCase {
     $dataTypeHelper = $this->prophesize(DataTypeHelperInterface::class);
     $fieldsHelper = new FieldsHelper($entityTypeManager->reveal(), $entityFieldManager->reveal(), $entityTypeBundleInfo->reveal(), $dataTypeHelper->reveal());
 
+    $event = $this->prophesize(FieldMappingEvent::class);
     $eventDispatcher = $this->prophesize(EventDispatcherInterface::class);
+    $eventDispatcher->dispatch(Argument::any())->willReturn($event->reveal());
     $fieldMapper = new FieldMapper($fieldsHelper, $eventDispatcher->reveal());
 
     $index = $this->prophesize(IndexInterface::class);
diff --git a/tests/src/Unit/SearchAPI/IndexParamBuilderTest.php b/tests/src/Unit/SearchAPI/IndexParamBuilderTest.php
index 3c85928..72ae0a1 100644
--- a/tests/src/Unit/SearchAPI/IndexParamBuilderTest.php
+++ b/tests/src/Unit/SearchAPI/IndexParamBuilderTest.php
@@ -7,11 +7,14 @@ use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\search_api\IndexInterface;
 use Drupal\search_api\Item\Field;
+use Drupal\search_api\Item\FieldInterface;
 use Drupal\search_api\Item\Item;
 use Drupal\search_api\Utility\DataTypeHelperInterface;
 use Drupal\search_api\Utility\FieldsHelper;
+use Drupal\search_api_opensearch\Event\IndexParamsEvent;
 use Drupal\search_api_opensearch\SearchAPI\IndexParamBuilder;
 use Drupal\Tests\UnitTestCase;
+use Prophecy\Argument;
 use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
 
 /**
@@ -37,7 +40,10 @@ class IndexParamBuilderTest extends UnitTestCase {
     $dataTypeHelper = $this->prophesize(DataTypeHelperInterface::class);
     $fieldsHelper = new FieldsHelper($entityTypeManager->reveal(), $entityFieldManager->reveal(), $entityTypeBundleInfo->reveal(), $dataTypeHelper->reveal());
 
+    $event = $this->prophesize(IndexParamsEvent::class);
     $eventDispatcher = $this->prophesize(EventDispatcherInterface::class);
+    $eventDispatcher->dispatch(Argument::any())->willReturn($event->reveal());
+
     $paramBuilder = new IndexParamBuilder($fieldsHelper, $eventDispatcher->reveal());
 
     $index = $this->prophesize(IndexInterface::class);
diff --git a/tests/src/Unit/SearchAPI/Query/FacetParamBuilderTest.php b/tests/src/Unit/SearchAPI/Query/FacetParamBuilderTest.php
index bb4e1c3..0e882a7 100644
--- a/tests/src/Unit/SearchAPI/Query/FacetParamBuilderTest.php
+++ b/tests/src/Unit/SearchAPI/Query/FacetParamBuilderTest.php
@@ -5,7 +5,7 @@ namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query;
 use Drupal\search_api\Query\QueryInterface;
 use Drupal\search_api_opensearch\SearchAPI\Query\FacetParamBuilder;
 use Drupal\Tests\UnitTestCase;
-use Psr\Log\Test\TestLogger;
+use Psr\Log\LoggerInterface;
 
 /**
  * Tests the facet param builder.
@@ -19,8 +19,8 @@ class FacetParamBuilderTest extends UnitTestCase {
    * @covers ::buildFacetParams
    */
   public function testBuildFacetParams() {
-    $logger = new TestLogger();
-    $builder = new FacetParamBuilder($logger);
+    $logger = $this->prophesize(LoggerInterface::class);
+    $builder = new FacetParamBuilder($logger->reveal());
 
     $query = $this->prophesize(QueryInterface::class);
     $query->getOption('search_api_facets', [])
diff --git a/tests/src/Unit/SearchAPI/Query/FacetResultParserTest.php b/tests/src/Unit/SearchAPI/Query/FacetResultParserTest.php
index 54bc1e6..d400560 100644
--- a/tests/src/Unit/SearchAPI/Query/FacetResultParserTest.php
+++ b/tests/src/Unit/SearchAPI/Query/FacetResultParserTest.php
@@ -5,7 +5,7 @@ namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query;
 use Drupal\search_api\Query\QueryInterface;
 use Drupal\search_api_opensearch\SearchAPI\Query\FacetResultParser;
 use Drupal\Tests\UnitTestCase;
-use Psr\Log\Test\TestLogger;
+use Psr\Log\LoggerInterface;
 
 /**
  * Tests the facets result parser.
@@ -19,8 +19,8 @@ class FacetResultParserTest extends UnitTestCase {
    * @covers ::parseFacetResult
    */
   public function testParseFacetResult() {
-    $logger = new TestLogger();
-    $parser = new FacetResultParser($logger);
+    $logger = $this->prophesize(LoggerInterface::class);
+    $parser = new FacetResultParser($logger->reveal());
 
     $query = $this->prophesize(QueryInterface::class);
     $query->getOption('search_api_facets', [])
diff --git a/tests/src/Unit/SearchAPI/Query/FilterBuilderTest.php b/tests/src/Unit/SearchAPI/Query/FilterBuilderTest.php
index 5d139f7..fabb4d2 100644
--- a/tests/src/Unit/SearchAPI/Query/FilterBuilderTest.php
+++ b/tests/src/Unit/SearchAPI/Query/FilterBuilderTest.php
@@ -2,13 +2,13 @@
 
 namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query;
 
-use Drupal\search_api_opensearch\SearchAPI\Query\FilterBuilder;
 use Drupal\search_api\IndexInterface;
 use Drupal\search_api\Item\Field;
 use Drupal\search_api\Query\Condition;
 use Drupal\search_api\Query\ConditionGroup;
+use Drupal\search_api_opensearch\SearchAPI\Query\FilterBuilder;
 use Drupal\Tests\UnitTestCase;
-use Psr\Log\Test\TestLogger;
+use Psr\Log\LoggerInterface;
 
 /**
  * Tests the filter builder.
@@ -38,8 +38,8 @@ class FilterBuilderTest extends UnitTestCase {
       'whiz' => $field2,
     ];
 
-    $logger = new TestLogger();
-    $filterBuilder = new FilterBuilder($logger);
+    $logger = $this->prophesize(LoggerInterface::class);
+    $filterBuilder = new FilterBuilder($logger->reveal());
     $filters = $filterBuilder->buildFilters($conditionGroup, $fields);
 
     $this->assertNotEmpty($filters);
@@ -62,8 +62,8 @@ class FilterBuilderTest extends UnitTestCase {
    * @dataProvider filterTermProvider
    */
   public function testBuildFilterTerm($value, $operator, $expected) {
-    $logger = new TestLogger();
-    $filterBuilder = new FilterBuilder($logger);
+    $logger = $this->prophesize(LoggerInterface::class);
+    $filterBuilder = new FilterBuilder($logger->reveal());
     $condition = new Condition('foo', $value, $operator);
     $filterTerm = $filterBuilder->buildFilterTerm($condition);
     $this->assertEquals($expected, $filterTerm);
diff --git a/tests/src/Unit/SearchAPI/Query/QueryParamBuilderTest.php b/tests/src/Unit/SearchAPI/Query/QueryParamBuilderTest.php
index 65b8b94..46af65a 100644
--- a/tests/src/Unit/SearchAPI/Query/QueryParamBuilderTest.php
+++ b/tests/src/Unit/SearchAPI/Query/QueryParamBuilderTest.php
@@ -7,6 +7,7 @@ use Drupal\search_api\Item\FieldInterface;
 use Drupal\search_api\Query\ConditionGroupInterface;
 use Drupal\search_api\Query\QueryInterface;
 use Drupal\search_api\Utility\FieldsHelperInterface;
+use Drupal\search_api_opensearch\Event\QueryParamsEvent;
 use Drupal\search_api_opensearch\SearchAPI\MoreLikeThisParamBuilder;
 use Drupal\search_api_opensearch\SearchAPI\Query\FacetParamBuilder;
 use Drupal\search_api_opensearch\SearchAPI\Query\FilterBuilder;
@@ -30,6 +31,7 @@ class QueryParamBuilderTest extends UnitTestCase {
    * @covers ::
    */
   public function testBuildQueryParams() {
+    $indexId = "foo";
 
     $fieldsHelper = $this->prophesize(FieldsHelperInterface::class);
 
@@ -48,14 +50,14 @@ class QueryParamBuilderTest extends UnitTestCase {
     $mltParamBuilder = $this->prophesize(MoreLikeThisParamBuilder::class);
     $facetParamBuilder = $this->prophesize(FacetParamBuilder::class);
     $eventDispatcher = $this->prophesize(EventDispatcherInterface::class);
+    $event = new QueryParamsEvent($indexId, []);
+    $eventDispatcher->dispatch(Argument::any())->willReturn($event);
     $logger = new NullLogger();
 
     $queryParamBuilder = new QueryParamBuilder($fieldsHelper->reveal(), $sortBuilder->reveal(), $filterBuilder->reveal(), $searchParamBuilder->reveal(), $mltParamBuilder->reveal(), $facetParamBuilder->reveal(), $eventDispatcher->reveal(), $logger);
 
-    $indexId = "foo";
     $index = $this->prophesize(IndexInterface::class);
-    $index->id()
-      ->willReturn($indexId);
+    $index->id()->willReturn($indexId);
 
     $field1 = $this->prophesize(FieldInterface::class);
 
@@ -89,7 +91,6 @@ class QueryParamBuilderTest extends UnitTestCase {
     $settings = ['fuzziness' => 'auto'];
     $queryParams = $queryParamBuilder->buildQueryParams($indexId, $query->reveal(), $settings);
 
-    $expected = ['index' => 'foo', 'body' => ['from' => 0, 'size' => 10]];
     $this->assertEquals($expected, $queryParams);
 
   }
-- 
GitLab