QueryTest.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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\ResourceModel;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  8. class QueryTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Search\Model\ResourceModel\Query
  12. */
  13. private $model;
  14. /**
  15. * @var \Magento\Framework\DB\Adapter\AdapterInterface|\PHPUnit_Framework_MockObject_MockObject
  16. */
  17. private $adapter;
  18. protected function setUp()
  19. {
  20. $objectManager = new ObjectManager($this);
  21. $this->adapter = $this->getMockBuilder(\Magento\Framework\DB\Adapter\AdapterInterface::class)
  22. ->disableOriginalConstructor()
  23. ->getMockForAbstractClass();
  24. $resource = $this->getMockBuilder(\Magento\Framework\App\ResourceConnection::class)
  25. ->disableOriginalConstructor()
  26. ->getMock();
  27. $resource->expects($this->any())
  28. ->method('getConnection')
  29. ->willReturn($this->adapter);
  30. $context = $this->getMockBuilder(\Magento\Framework\Model\ResourceModel\Db\Context::class)
  31. ->disableOriginalConstructor()
  32. ->getMock();
  33. $context->expects($this->any())
  34. ->method('getResources')
  35. ->willReturn($resource);
  36. $this->model = $objectManager->getObject(
  37. \Magento\Search\Model\ResourceModel\Query::class,
  38. ['context' => $context]
  39. );
  40. }
  41. public function testSaveIncrementalPopularity()
  42. {
  43. /** @var \Magento\Search\Model\Query|\PHPUnit_Framework_MockObject_MockObject $model */
  44. $model = $this->getMockBuilder(\Magento\Search\Model\Query::class)
  45. ->disableOriginalConstructor()
  46. ->getMock();
  47. $model->expects($this->any())
  48. ->method('getStoreId')
  49. ->willReturn(1);
  50. $model->expects($this->any())
  51. ->method('getQueryText')
  52. ->willReturn('queryText');
  53. $this->adapter->expects($this->once())
  54. ->method('insertOnDuplicate');
  55. $this->model->saveIncrementalPopularity($model);
  56. }
  57. public function testSaveNumResults()
  58. {
  59. /** @var \Magento\Search\Model\Query|\PHPUnit_Framework_MockObject_MockObject $model */
  60. $model = $this->getMockBuilder(\Magento\Search\Model\Query::class)
  61. ->setMethods(['getNumResults', 'getStoreId', 'getQueryText'])
  62. ->disableOriginalConstructor()
  63. ->getMock();
  64. $model->expects($this->any())
  65. ->method('getStoreId')
  66. ->willReturn(1);
  67. $model->expects($this->any())
  68. ->method('getQueryText')
  69. ->willReturn('queryText');
  70. $model->expects($this->any())
  71. ->method('getNumResults')
  72. ->willReturn(30);
  73. $this->adapter->expects($this->once())
  74. ->method('insertOnDuplicate');
  75. $this->model->saveNumResults($model);
  76. }
  77. }