SearchEngineTest.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Search\Test\Unit\Model;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  8. class SearchEngineTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Search\Model\SearchEngine
  12. */
  13. private $searchEngine;
  14. /**
  15. * @var \Magento\Framework\Search\AdapterInterface |\PHPUnit_Framework_MockObject_MockObject
  16. */
  17. private $adapter;
  18. protected function setUp()
  19. {
  20. $helper = new ObjectManager($this);
  21. $adapterFactory = $this->getMockBuilder(\Magento\Search\Model\AdapterFactory::class)
  22. ->disableOriginalConstructor()
  23. ->getMock();
  24. $this->adapter = $this->getMockBuilder(\Magento\Framework\Search\AdapterInterface::class)
  25. ->disableOriginalConstructor()
  26. ->getMock();
  27. $adapterFactory->expects($this->once())->method('create')->will($this->returnValue($this->adapter));
  28. $this->searchEngine = $helper->getObject(
  29. \Magento\Search\Model\SearchEngine::class,
  30. [
  31. 'adapterFactory' => $adapterFactory,
  32. ]
  33. );
  34. }
  35. public function testSearch()
  36. {
  37. $request = $this->getMockBuilder(\Magento\Framework\Search\RequestInterface::class)
  38. ->disableOriginalConstructor()
  39. ->getMock();
  40. $response = $this->getMockBuilder(\Magento\Framework\Search\ResponseInterface::class)
  41. ->disableOriginalConstructor()
  42. ->getMock();
  43. $this->adapter->expects($this->once())
  44. ->method('query')
  45. ->with($this->equalTo($request))
  46. ->will($this->returnValue($response));
  47. $result = $this->searchEngine->search($request);
  48. $this->assertInstanceOf(\Magento\Framework\Search\ResponseInterface::class, $result);
  49. }
  50. }