10 use Magento\Elasticsearch\SearchAdapter\QueryContainerFactory;
21 private $queryContainerFactory;
59 $this->connectionManager = $this->getMockBuilder(\
Magento\Elasticsearch\SearchAdapter\ConnectionManager::class)
60 ->disableOriginalConstructor()
63 $this->mapper = $this->getMockBuilder(\
Magento\Elasticsearch\SearchAdapter\Mapper::class)
67 ->disableOriginalConstructor()
70 $this->responseFactory = $this->getMockBuilder(\
Magento\Elasticsearch\SearchAdapter\ResponseFactory::class)
71 ->setMethods([
'create'])
72 ->disableOriginalConstructor()
75 $this->request = $this->getMockBuilder(\
Magento\Framework\Search\RequestInterface::class)
76 ->disableOriginalConstructor()
79 $this->aggregationBuilder = $this->getMockBuilder(
80 \
Magento\Elasticsearch\SearchAdapter\Aggregation\Builder::class
86 ->disableOriginalConstructor()
89 $this->queryContainerFactory = $this->getMockBuilder(QueryContainerFactory::class)
90 ->setMethods([
'create'])
91 ->disableOriginalConstructor()
96 \
Magento\Elasticsearch\SearchAdapter\Adapter::class,
98 'connectionManager' => $this->connectionManager,
99 'mapper' => $this->mapper,
100 'responseFactory' => $this->responseFactory,
101 'aggregationBuilder' => $this->aggregationBuilder,
102 'queryContainerFactory' => $this->queryContainerFactory,
115 'index' =>
'indexName',
120 'fields' => [
'_id',
'_score'],
125 $client = $this->getMockBuilder(\
Magento\Elasticsearch\Model\Client\Elasticsearch::class)
126 ->setMethods([
'query'])
127 ->disableOriginalConstructor()
130 $this->connectionManager->expects($this->once())
131 ->method(
'getConnection')
132 ->willReturn($client);
134 $queryContainer = $this->getMockBuilder(QueryContainer::class)
135 ->disableOriginalConstructor()
138 $this->queryContainerFactory->expects($this->once())
140 ->with([
'query' => $searchQuery])
141 ->willReturn($queryContainer);
143 $this->aggregationBuilder->expects($this->once())
145 ->with($queryContainer);
147 $this->mapper->expects($this->once())
148 ->method(
'buildQuery')
149 ->with($this->request)
150 ->willReturn($searchQuery);
152 $client->expects($this->once())
159 '_index' =>
'indexName',
160 '_type' =>
'product',
167 $this->aggregationBuilder->expects($this->once())
169 ->willReturn($client);
171 $this->model->query($this->request);