Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
MetricsTest.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Framework\Search\Request\BucketInterface as RequestBucketInterface;
10 
11 class MetricsTest extends \PHPUnit\Framework\TestCase
12 {
16  private $metrics;
17 
21  private $requestBucket;
22 
26  private $metric;
27 
28  protected function setUp()
29  {
30  $helper = new ObjectManager($this);
31 
32  $this->requestBucket = $this->getMockBuilder(\Magento\Framework\Search\Request\BucketInterface::class)
33  ->setMethods(['getMetrics'])
34  ->disableOriginalConstructor()
35  ->getMockForAbstractClass();
36 
37  $this->metric = $this->getMockBuilder(\Magento\Framework\Search\Request\Aggregation\Metric::class)
38  ->setMethods(['getType'])
39  ->disableOriginalConstructor()
40  ->getMockForAbstractClass();
41 
42  $this->metrics = $helper->getObject(\Magento\Framework\Search\Adapter\Mysql\Aggregation\Builder\Metrics::class);
43  }
44 
45  public function testBuild()
46  {
47  $expectedResult = ['count' => 'count(main_table.value)'];
48  $this->requestBucket->expects($this->once())->method('getMetrics')->willReturn([$this->metric]);
49  $this->metric->expects($this->once())->method('getType')->willReturn('count');
50  $metrics = $this->metrics->build($this->requestBucket);
51 
52  $this->assertEquals($expectedResult, $metrics);
53  }
54 }
$helper
Definition: iframe.phtml:13