Skip to content

Commit 71d457f

Browse files
committed
MAGETWO-40097: Refactor Search Web Api
- Fixed search algorithm
1 parent 608959e commit 71d457f

File tree

5 files changed

+15
-71
lines changed

5 files changed

+15
-71
lines changed

app/code/Magento/Search/Model/Search.php

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66
namespace Magento\Search\Model;
77

8-
use Magento\Catalog\Model\Layer\Filter\Dynamic\AlgorithmFactory;
98
use Magento\Framework\Api\Search\SearchCriteriaInterface;
109
use Magento\Framework\App\Config\ScopeConfigInterface;
1110
use Magento\Framework\Search\Request\Builder;
@@ -36,30 +35,22 @@ class Search implements SearchInterface
3635
*/
3736
private $searchResponseBuilder;
3837

39-
/**
40-
* @var ScopeConfigInterface
41-
*/
42-
private $scopeConfig;
43-
4438
/**
4539
* @param Builder $requestBuilder
4640
* @param StoreManagerInterface $storeManager
4741
* @param SearchEngineInterface $searchEngine
4842
* @param SearchResponseBuilder $searchResponseBuilder
49-
* @param ScopeConfigInterface $scopeConfig
5043
*/
5144
public function __construct(
5245
Builder $requestBuilder,
5346
StoreManagerInterface $storeManager,
5447
SearchEngineInterface $searchEngine,
55-
SearchResponseBuilder $searchResponseBuilder,
56-
ScopeConfigInterface $scopeConfig
48+
SearchResponseBuilder $searchResponseBuilder
5749
) {
5850
$this->requestBuilder = $requestBuilder;
5951
$this->storeManager = $storeManager;
6052
$this->searchEngine = $searchEngine;
6153
$this->searchResponseBuilder = $searchResponseBuilder;
62-
$this->scopeConfig = $scopeConfig;
6354
}
6455

6556
/**
@@ -69,11 +60,6 @@ public function search(SearchCriteriaInterface $searchCriteria)
6960
{
7061
$this->requestBuilder->setRequestName($searchCriteria->getRequestName());
7162

72-
$searchTerm = $searchCriteria->getSearchTerm();
73-
if (!empty($searchTerm)) {
74-
$this->requestBuilder->bind('search_term', $searchTerm);
75-
}
76-
7763
$storeId = $this->storeManager->getStore(true)->getId();
7864
$this->requestBuilder->bindDimension('scope', $storeId);
7965

@@ -83,14 +69,6 @@ public function search(SearchCriteriaInterface $searchCriteria)
8369
}
8470
}
8571

86-
$priceRangeCalculation = $this->scopeConfig->getValue(
87-
AlgorithmFactory::XML_PATH_RANGE_CALCULATION,
88-
ScopeInterface::SCOPE_STORE
89-
);
90-
if ($priceRangeCalculation) {
91-
$this->requestBuilder->bind('price_dynamic_algorithm', $priceRangeCalculation);
92-
}
93-
9472
$this->requestBuilder->setFrom($searchCriteria->getCurrentPage() * $searchCriteria->getPageSize());
9573
$this->requestBuilder->setSize($searchCriteria->getPageSize());
9674
$request = $this->requestBuilder->create();

app/code/Magento/Search/Test/Unit/Model/SearchTest.php

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ class SearchTest extends \PHPUnit_Framework_TestCase
3131
*/
3232
protected $searchResponseBuilder;
3333

34-
/**
35-
* @var \Magento\Framework\App\Config\ScopeConfigInterface|\PHPUnit_Framework_MockObject_MockObject
36-
*/
37-
protected $scopeConfig;
38-
3934
/**
4035
* @var \Magento\Store\Model\StoreManagerInterface|\PHPUnit_Framework_MockObject_MockObject
4136
*/
@@ -57,10 +52,6 @@ protected function setUp()
5752
->disableOriginalConstructor()
5853
->getMock();
5954

60-
$this->scopeConfig = $this->getMockBuilder('Magento\Framework\App\Config\ScopeConfigInterface')
61-
->disableOriginalConstructor()
62-
->getMockForAbstractClass();
63-
6455
$this->storeManager = $this->getMockBuilder('Magento\Store\Model\StoreManagerInterface')
6556
->disableOriginalConstructor()
6657
->getMockForAbstractClass();
@@ -69,7 +60,6 @@ protected function setUp()
6960
'requestBuilder' => $this->requestBuilder,
7061
'searchEngine' => $this->searchEngine,
7162
'searchResponseBuilder' => $this->searchResponseBuilder,
72-
'scopeConfig' => $this->scopeConfig,
7363
'storeManager' => $this->storeManager,
7464
]);
7565
}
@@ -106,9 +96,6 @@ public function testSearch()
10696
$searchCriteria->expects($this->once())
10797
->method('getRequestName')
10898
->willReturn($requestName);
109-
$searchCriteria->expects($this->once())
110-
->method('getSearchTerm')
111-
->willReturn($searchTerm);
11299
$searchCriteria->expects($this->once())
113100
->method('getFilterGroups')
114101
->willReturn([$filterGroup]);
@@ -158,11 +145,6 @@ public function testSearch()
158145
->method('getStore')
159146
->willReturn($store);
160147

161-
$this->scopeConfig->expects($this->once())
162-
->method('getValue')
163-
->with(AlgorithmFactory::XML_PATH_RANGE_CALCULATION, ScopeInterface::SCOPE_STORE)
164-
->willReturn($priceRangeCalculation);
165-
166148
$searchResult = $this->model->search($searchCriteria);
167149

168150
$this->assertInstanceOf('Magento\Framework\Api\Search\SearchResultInterface', $searchResult);

dev/tests/api-functional/testsuite/Magento/Search/Api/SearchTest.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,21 @@ public function testCatalogSearch()
2121
{
2222
$searchCriteria = [
2323
'searchCriteria' => [
24-
'search_term' => 'simple',
2524
'request_name' => 'quick_search_container',
26-
'filter_groups' => [],
25+
'filter_groups' => [
26+
[
27+
'filters' => [
28+
[
29+
'field' => 'search_term',
30+
'value' => 'simple',
31+
],
32+
[
33+
'field' => 'price_dynamic_algorithm',
34+
'value' => 'auto',
35+
]
36+
]
37+
]
38+
],
2739
'page_size' => 20000000000000,
2840
'current_page' => 1,
2941
],

lib/internal/Magento/Framework/Api/Search/SearchCriteria.php

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,8 @@
1010

1111
class SearchCriteria extends BaseSearchCriteria implements SearchCriteriaInterface
1212
{
13-
const SEARCH_TERM = 'search_term';
1413
const REQUEST_NAME = 'request_name';
1514

16-
/**
17-
* {@inheritdoc}
18-
*/
19-
public function getSearchTerm()
20-
{
21-
return $this->_get(self::SEARCH_TERM);
22-
}
23-
24-
/**
25-
* {@inheritdoc}
26-
*/
27-
public function setSearchTerm($searchTerm)
28-
{
29-
return $this->setData(self::SEARCH_TERM, $searchTerm);
30-
}
31-
3215
/**
3316
* {@inheritdoc}
3417
*/

lib/internal/Magento/Framework/Api/Search/SearchCriteriaInterface.php

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,6 @@
99

1010
interface SearchCriteriaInterface extends BaseSearchCriteriaInterface
1111
{
12-
/**
13-
* @return string
14-
*/
15-
public function getSearchTerm();
16-
17-
/**
18-
* @param string $searchTerm
19-
* @return $this
20-
*/
21-
public function setSearchTerm($searchTerm);
22-
2312
/**
2413
* @return string
2514
*/

0 commit comments

Comments
 (0)