Ejemplo n.º 1
0
 public function testExecute()
 {
     $searchString = "simple";
     $firstItemMock = $this->getMockBuilder('Magento\\Search\\Model\\Autocomplete\\Item')->disableOriginalConstructor()->setMockClassName('FirstItem')->setMethods(['toArray'])->getMock();
     $secondItemMock = $this->getMockBuilder('Magento\\Search\\Model\\Autocomplete\\Item')->disableOriginalConstructor()->setMockClassName('SecondItem')->setMethods(['toArray'])->getMock();
     $this->request->expects($this->once())->method('getParam')->with('q')->will($this->returnValue($searchString));
     $this->autocomplete->expects($this->once())->method('getItems')->will($this->returnValue([$firstItemMock, $secondItemMock]));
     $this->resultJsonMock->expects($this->once())->method('setData')->willReturnSelf();
     $this->assertSame($this->resultJsonMock, $this->controller->execute());
 }
Ejemplo n.º 2
0
 /**
  * @return void
  */
 public function execute()
 {
     if (!$this->getRequest()->getParam('q', false)) {
         $this->getResponse()->setRedirect($this->_url->getBaseUrl());
         return;
     }
     $autocompleteData = $this->autocomplete->getItems();
     $responseData = [];
     foreach ($autocompleteData as $resultItem) {
         $responseData[] = $resultItem->toArray();
     }
     $this->getResponse()->representJson(json_encode($responseData));
 }
Ejemplo n.º 3
0
 /**
  * @return \Magento\Framework\Controller\ResultInterface
  */
 public function execute()
 {
     if (!$this->getRequest()->getParam('q', false)) {
         /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
         $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
         $resultRedirect->setUrl($this->_url->getBaseUrl());
         return $resultRedirect;
     }
     $autocompleteData = $this->autocomplete->getItems();
     $responseData = [];
     foreach ($autocompleteData as $resultItem) {
         $responseData[] = $resultItem->toArray();
     }
     /** @var \Magento\Framework\Controller\Result\Json $resultJson */
     $resultJson = $this->resultFactory->create(ResultFactory::TYPE_JSON);
     $resultJson->setData($responseData);
     return $resultJson;
 }