Skip to content

Commit b92f4ff

Browse files
author
Joan He
committed
Merge remote-tracking branch 'arcticfoxes/MC-21520' into 2.3-develop-pr
2 parents 259540b + 002ab5b commit b92f4ff

File tree

2 files changed

+61
-10
lines changed

2 files changed

+61
-10
lines changed

dev/tests/integration/testsuite/Magento/Catalog/Model/Indexer/Product/Flat/Action/FullTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
use Magento\Catalog\Model\Indexer\Product\Flat\Processor;
1212
use Magento\Catalog\Model\Indexer\Product\Flat\State;
1313
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory as ProductCollectionFactory;
14+
use Magento\CatalogSearch\Model\Indexer\Fulltext;
15+
use Magento\Framework\Indexer\IndexerRegistry;
1416
use Magento\Store\Model\StoreManagerInterface;
1517
use Magento\TestFramework\Helper\Bootstrap;
1618
use Magento\TestFramework\ObjectManager;
@@ -35,6 +37,22 @@ class FullTest extends \Magento\TestFramework\Indexer\TestCase
3537
*/
3638
private $objectManager;
3739

40+
/**
41+
* @inheritdoc
42+
*/
43+
public static function setUpBeforeClass()
44+
{
45+
/*
46+
* Due to insufficient search engine isolation for Elasticsearch, this class must explicitly perform
47+
* a fulltext reindex prior to running its tests.
48+
*
49+
* This should be removed upon completing MC-19455.
50+
*/
51+
$indexRegistry = Bootstrap::getObjectManager()->get(IndexerRegistry::class);
52+
$fulltextIndexer = $indexRegistry->get(Fulltext::INDEXER_ID);
53+
$fulltextIndexer->reindexAll();
54+
}
55+
3856
/**
3957
* @inheritdoc
4058
*/

dev/tests/integration/testsuite/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProviderTest.php

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,71 @@
77

88
namespace Magento\CatalogSearch\Model\Indexer\Fulltext\Action;
99

10+
use Magento\Catalog\Model\Product;
11+
use Magento\Catalog\Model\ProductRepository as ProductRepository;
12+
use Magento\CatalogSearch\Model\Indexer\Fulltext;
13+
use Magento\Framework\Api\Search\Document as SearchDocument;
14+
use Magento\Framework\Indexer\IndexerRegistry;
15+
use Magento\Framework\Search\AdapterInterface as AdapterInterface;
16+
use Magento\Framework\Search\Request\Builder as SearchRequestBuilder;
17+
use Magento\Framework\Search\Request\Config as SearchRequestConfig;
18+
use Magento\Search\Model\AdapterFactory as AdapterFactory;
19+
use Magento\TestFramework\Helper\Bootstrap;
20+
use Magento\TestFramework\ObjectManager;
21+
1022
class DataProviderTest extends \PHPUnit\Framework\TestCase
1123
{
24+
/**
25+
* @inheritdoc
26+
*/
27+
public static function setUpBeforeClass()
28+
{
29+
/*
30+
* Due to insufficient search engine isolation for Elasticsearch, this class must explicitly perform
31+
* a fulltext reindex prior to running its tests.
32+
*
33+
* This should be removed upon completing MC-19455.
34+
*/
35+
$indexRegistry = Bootstrap::getObjectManager()->get(IndexerRegistry::class);
36+
$fulltextIndexer = $indexRegistry->get(Fulltext::INDEXER_ID);
37+
$fulltextIndexer->reindexAll();
38+
}
39+
1240
/**
1341
* @magentoDataFixture Magento/CatalogSearch/_files/product_for_search.php
1442
* @magentoDbIsolation disabled
1543
*/
1644
public function testSearchProductByAttribute()
1745
{
18-
/** @var $objectManager \Magento\TestFramework\ObjectManager */
19-
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
46+
/** @var ObjectManager $objectManager */
47+
$objectManager = Bootstrap::getObjectManager();
48+
49+
/** @var SearchRequestConfig $config */
50+
$config = $objectManager->create(SearchRequestConfig::class);
2051

21-
$config = $objectManager->create(\Magento\Framework\Search\Request\Config::class);
22-
/** @var \Magento\Framework\Search\Request\Builder $requestBuilder */
52+
/** @var SearchRequestBuilder $requestBuilder */
2353
$requestBuilder = $objectManager->create(
24-
\Magento\Framework\Search\Request\Builder::class,
54+
SearchRequestBuilder::class,
2555
['config' => $config]
2656
);
57+
2758
$requestBuilder->bind('search_term', 'VALUE1');
2859
$requestBuilder->setRequestName('quick_search_container');
2960
$queryRequest = $requestBuilder->create();
30-
/** @var \Magento\Framework\Search\Adapter\Mysql\Adapter $adapter */
31-
$adapterFactory = $objectManager->create(\Magento\Search\Model\AdapterFactory::class);
61+
62+
/** @var AdapterInterface $adapter */
63+
$adapterFactory = $objectManager->create(AdapterFactory::class);
3264
$adapter = $adapterFactory->create();
3365
$queryResponse = $adapter->query($queryRequest);
3466
$actualIds = [];
67+
3568
foreach ($queryResponse as $document) {
36-
/** @var \Magento\Framework\Api\Search\Document $document */
69+
/** @var SearchDocument $document */
3770
$actualIds[] = $document->getId();
3871
}
3972

40-
/** @var \Magento\Catalog\Model\Product $product */
41-
$product = $objectManager->create(\Magento\Catalog\Model\ProductRepository::class)->get('simple');
73+
/** @var Product $product */
74+
$product = $objectManager->create(ProductRepository::class)->get('simple');
4275
$this->assertContains($product->getId(), $actualIds, 'Product not found by searchable attribute.');
4376
}
4477
}

0 commit comments

Comments
 (0)