11 use Magento\CatalogSearch\Model\Search\SelectContainer\SelectContainerFactory;
18 private $baseSelectFullTextSearchStrategy;
23 private $selectContainerFactory;
33 private $scopeResolver;
38 ->create(BaseSelectFullTextSearchStrategy::class);
41 ->create(SelectContainerFactory::class);
44 ->create(ResourceConnection::class);
47 ->create(IndexScopeResolver::class);
52 $selectContainer = $this->getSelectContainerWithFullTextSearch();
53 $selectContainer = $this->baseSelectFullTextSearchStrategy->createBaseSelect($selectContainer);
54 $select = $selectContainer->getSelect();
55 $expectedSelect = $this->getExpectedSelect();
57 $this->assertEquals((
string) $expectedSelect, (
string)
$select);
60 private function getExpectedSelect()
62 $select = $this->resource->getConnection()->select();
64 [
'search_index' => $this->scopeResolver->resolve(
'', [])],
65 [
'entity_id' =>
'entity_id']
67 [
'cea' => $this->resource->getTableName(
'catalog_eav_attribute')],
68 'search_index.attribute_id = cea.attribute_id',
75 private function getSelectContainerWithFullTextSearch()
77 return $this->selectContainerFactory->create(
79 'nonCustomAttributesFilters' => [],
80 'customAttributesFilters' => [],
81 'visibilityFilter' =>
null,
82 'isFullTextSearchRequired' =>
true,
83 'isShowOutOfStockEnabled' =>
false,
86 'select' => $this->resource->getConnection()->select()
static getObjectManager()