18 private $objectManagerHelper;
30 private $autocomplete;
49 $this->autocomplete = $this->getMockBuilder(\
Magento\Search\Model\AutocompleteInterface::class)
50 ->disableOriginalConstructor()
51 ->setMethods([
'getItems'])
52 ->getMockForAbstractClass();
53 $this->request = $this->getMockBuilder(\
Magento\Framework\
App\RequestInterface::class)
54 ->disableOriginalConstructor()
56 ->getMockForAbstractClass();
57 $this->url = $this->getMockBuilder(\
Magento\Framework\UrlInterface::class)
58 ->disableOriginalConstructor()
59 ->setMethods([
'getBaseUrl'])
60 ->getMockForAbstractClass();
61 $this->resultFactoryMock = $this->getMockBuilder(\
Magento\Framework\Controller\ResultFactory::class)
62 ->disableOriginalConstructor()
64 $this->resultRedirectMock = $this->getMockBuilder(\
Magento\Backend\Model\View\Result\Redirect::class)
65 ->disableOriginalConstructor()
67 $this->resultJsonMock = $this->getMockBuilder(\
Magento\Framework\Controller\Result\Json::class)
68 ->disableOriginalConstructor()
71 $this->context = $this->getMockBuilder(\
Magento\Framework\
App\Action\Context::class)
72 ->disableOriginalConstructor()
74 $this->context->expects($this->atLeastOnce())
75 ->method(
'getRequest')
76 ->will($this->returnValue($this->request));
77 $this->context->expects($this->any())
79 ->will($this->returnValue($this->url));
80 $this->context->expects($this->any())
81 ->method(
'getResultFactory')
82 ->willReturn($this->resultFactoryMock);
83 $this->resultFactoryMock->expects($this->any())
92 $this->objectManagerHelper =
new ObjectManagerHelper($this);
93 $this->controller = $this->objectManagerHelper->getObject(
94 \
Magento\Search\Controller\Ajax\Suggest::class,
96 'context' => $this->context,
97 'autocomplete' => $this->autocomplete
104 $searchString =
"simple";
105 $firstItemMock = $this->getMockBuilder(\
Magento\Search\Model\Autocomplete\Item::class)
106 ->disableOriginalConstructor()
107 ->setMockClassName(
'FirstItem')
108 ->setMethods([
'toArray'])
110 $secondItemMock = $this->getMockBuilder(\
Magento\Search\Model\Autocomplete\Item::class)
111 ->disableOriginalConstructor()
112 ->setMockClassName(
'SecondItem')
113 ->setMethods([
'toArray'])
116 $this->request->expects($this->once())
119 ->will($this->returnValue($searchString));
121 $this->autocomplete->expects($this->once())
123 ->will($this->returnValue([$firstItemMock, $secondItemMock]));
125 $this->resultJsonMock->expects($this->once())
129 $this->assertSame($this->resultJsonMock, $this->controller->execute());
137 $this->request->expects($this->once())
140 ->will($this->returnValue($searchString));
141 $this->url->expects($this->once())
142 ->method(
'getBaseUrl')
144 $this->resultRedirectMock->expects($this->once())
149 $this->assertSame($this->resultRedirectMock, $this->controller->execute());