12 class DataTest extends \PHPUnit\Framework\TestCase
50 private $urlBuilderMock;
54 $this->stringMock = $this->createMock(\
Magento\Framework\Stdlib\StringUtils::class);
55 $this->scopeConfigMock = $this->createMock(\
Magento\Framework\
App\Config\ScopeConfigInterface::class);
56 $this->escaperMock = $this->createMock(\
Magento\Framework\Escaper::class);
57 $this->storeManagerMock = $this->createMock(\
Magento\Store\Model\StoreManagerInterface::class);
58 $this->requestMock = $this->getMockBuilder(\
Magento\Framework\
App\RequestInterface::class)
59 ->disableOriginalConstructor()
62 $this->urlBuilderMock = $this->getMockBuilder(\
Magento\Framework\UrlInterface::class)
63 ->setMethods([
'getUrl'])
64 ->disableOriginalConstructor()
65 ->getMockForAbstractClass();
66 $this->contextMock = $this->createMock(\
Magento\Framework\
App\Helper\Context::class);
67 $this->contextMock->expects($this->any())->method(
'getScopeConfig')->willReturn($this->scopeConfigMock);
68 $this->contextMock->expects($this->any())->method(
'getRequest')->willReturn($this->requestMock);
69 $this->contextMock->expects($this->any())->method(
'getUrlBuilder')->willReturn($this->urlBuilderMock);
71 $this->model = new \Magento\Search\Helper\Data(
75 $this->storeManagerMock
81 $return =
'some_value';
82 $this->scopeConfigMock->expects($this->once())
85 \
Magento\Search\Model\Query::XML_PATH_MIN_QUERY_LENGTH,
86 \
Magento\Store\Model\ScopeInterface::SCOPE_STORE,
89 ->will($this->returnValue($return));
90 $this->assertEquals($return, $this->model->getMinQueryLength());
95 $return =
'some_value';
96 $this->scopeConfigMock->expects($this->once())
99 \
Magento\Search\Model\Query::XML_PATH_MAX_QUERY_LENGTH,
100 \
Magento\Store\Model\ScopeInterface::SCOPE_STORE,
103 ->will($this->returnValue($return));
104 $this->assertEquals($return, $this->model->getMaxQueryLength());
112 $this->requestMock->expects($this->once())->method(
'getParam')->willReturn($queryText);
113 $this->stringMock->expects($this->any())->method(
'cleanString')->willReturnArgument(0);
114 $this->scopeConfigMock->expects($this->any())->method(
'getValue')->willReturn(
$maxQueryLength);
116 ->expects($this->any())
118 ->will($this->returnCallback(
function ($queryText) {
119 return strlen($queryText);
122 ->expects($this->any())
125 ->willReturn($expected);
126 $this->escaperMock->expects($this->any())->method(
'escapeHtml')->willReturnArgument(0);
127 $this->assertEquals($expected, $this->model->getEscapedQueryText());
139 [
'test', 100,
'test'],
140 [
'testtest', 7,
'testtes'],
153 $this->requestMock->expects(self::once())
155 ->willReturn($isSecure);
156 $this->urlBuilderMock->expects(self::once())
158 ->with(self::identicalTo(
'search/ajax/suggest'), self::identicalTo([
'_secure' => $isSecure]));
159 $this->model->getSuggestUrl();
getSuggestUrlDataProvider()
testGetSuggestUrl(bool $isSecure)
testGetEscapedQueryText($queryText, $maxQueryLength, $expected)