![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-catalog-search/Test/Unit/Block/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\CatalogSearch\Test\Unit\Block; use Magento\Catalog\Block\Product\ListProduct; use Magento\Catalog\Model\Layer; use Magento\Catalog\Model\Layer\Resolver; use Magento\Catalog\Model\Layer\Search; use Magento\CatalogSearch\Block\Result; use Magento\CatalogSearch\Helper\Data; use Magento\Framework\View\Element\Template\Context; use Magento\Search\Model\Query; use Magento\Search\Model\QueryFactory; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * Unit test for \Magento\CatalogSearch\Block\Result */ class ResultTest extends TestCase { /** @var Query|MockObject */ private $queryMock; /** @var QueryFactory|MockObject */ private $queryFactoryMock; /** @var Result */ protected $model; /** @var Context|MockObject */ protected $contextMock; /** @var Layer|MockObject */ protected $layerMock; /** @var Data|MockObject */ protected $dataMock; /** * @var ListProduct|MockObject */ protected $childBlockMock; protected function setUp(): void { $this->contextMock = $this->createMock(Context::class); $this->layerMock = $this->createMock(Search::class); /** @var MockObject|Resolver $layerResolver */ $layerResolver = $this->getMockBuilder(Resolver::class) ->disableOriginalConstructor() ->setMethods(['get', 'create']) ->getMock(); $layerResolver->expects($this->any()) ->method($this->anything()) ->willReturn($this->layerMock); $this->dataMock = $this->createMock(Data::class); $this->queryMock = $this->getMockBuilder(Query::class) ->disableOriginalConstructor() ->getMock(); $this->queryFactoryMock = $this->getMockBuilder(QueryFactory::class) ->disableOriginalConstructor() ->setMethods(['get']) ->getMock(); $this->model = new Result($this->contextMock, $layerResolver, $this->dataMock, $this->queryFactoryMock); } public function testGetSearchQueryText() { $this->dataMock->expects($this->once())->method('getEscapedQueryText')->willReturn('query_text'); $this->assertEquals('Search results for: \'query_text\'', $this->model->getSearchQueryText()); } public function testGetNoteMessages() { $this->dataMock->expects($this->once())->method('getNoteMessages')->willReturn('SOME-MESSAGE'); $this->assertEquals('SOME-MESSAGE', $this->model->getNoteMessages()); } /** * @param bool $isMinQueryLength * @param string $expectedResult * @dataProvider getNoResultTextDataProvider */ public function testGetNoResultText($isMinQueryLength, $expectedResult) { $this->dataMock->expects( $this->once() )->method( 'isMinQueryLength' )->willReturn( $isMinQueryLength ); if ($isMinQueryLength) { $queryMock = $this->createMock(Query::class); $queryMock->expects($this->once())->method('getMinQueryLength')->willReturn('5'); $this->queryFactoryMock->expects($this->once())->method('get')->willReturn($queryMock); } $this->assertEquals($expectedResult, $this->model->getNoResultText()); } /** * @return array */ public function getNoResultTextDataProvider() { return [[true, 'Minimum Search query length is 5'], [false, null]]; } }