QueryResponseTest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Search\Test\Unit\Response;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  8. class QueryResponseTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Framework\Api\Search\Document[]
  12. */
  13. private $documents = [];
  14. /**
  15. * @var \Magento\Framework\Search\Response\Aggregation
  16. */
  17. private $aggregations = [];
  18. /**
  19. * @var \Magento\Framework\Search\Response\QueryResponse | \PHPUnit_Framework_MockObject_MockObject
  20. */
  21. private $queryResponse;
  22. protected function setUp()
  23. {
  24. $helper = new ObjectManager($this);
  25. for ($count = 0; $count < 5; $count++) {
  26. $document = $this->getMockBuilder(\Magento\Framework\Api\Search\Document::class)
  27. ->disableOriginalConstructor()
  28. ->getMock();
  29. $document->expects($this->any())->method('getId')->will($this->returnValue($count));
  30. $this->documents[] = $document;
  31. }
  32. $this->aggregations = $this->getMockBuilder(\Magento\Framework\Search\Response\Aggregation::class)
  33. ->disableOriginalConstructor()
  34. ->getMock();
  35. $this->queryResponse = $helper->getObject(
  36. \Magento\Framework\Search\Response\QueryResponse::class,
  37. [
  38. 'documents' => $this->documents,
  39. 'aggregations' => $this->aggregations,
  40. ]
  41. );
  42. }
  43. public function testGetIterator()
  44. {
  45. $count = 0;
  46. foreach ($this->queryResponse as $document) {
  47. $this->assertEquals($document->getId(), $count);
  48. $count++;
  49. }
  50. }
  51. public function testCount()
  52. {
  53. $this->assertEquals(count($this->queryResponse), 5);
  54. }
  55. public function testGetAggregations()
  56. {
  57. $aggregations = $this->queryResponse->getAggregations();
  58. $this->assertInstanceOf(\Magento\Framework\Search\Response\Aggregation::class, $aggregations);
  59. }
  60. }