![]() 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/Test/Unit/Block/Category/Rss/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Catalog\Test\Unit\Block\Category\Rss; use Magento\Catalog\Block\Category\Rss\Link; use Magento\Catalog\Model\Category; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\App\Rss\UrlBuilderInterface; use Magento\Framework\Registry; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; use Magento\Store\Model\StoreManagerInterface; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class LinkTest extends TestCase { /** * @var Link */ protected $link; /** * @var ObjectManagerHelper */ protected $objectManagerHelper; /** * @var UrlBuilderInterface|MockObject */ protected $urlBuilderInterface; /** * @var ScopeConfigInterface|MockObject */ protected $scopeConfigInterface; /** * @var StoreManagerInterface|MockObject */ protected $storeManagerInterface; /** * @var Registry|MockObject */ protected $registry; protected function setUp(): void { $this->urlBuilderInterface = $this->getMockForAbstractClass(UrlBuilderInterface::class); $this->scopeConfigInterface = $this->getMockForAbstractClass(ScopeConfigInterface::class); $this->storeManagerInterface = $this->getMockForAbstractClass(StoreManagerInterface::class); $this->registry = $this->createMock(Registry::class); $this->objectManagerHelper = new ObjectManagerHelper($this); $this->link = $this->objectManagerHelper->getObject( Link::class, [ 'rssUrlBuilder' => $this->urlBuilderInterface, 'registry' => $this->registry, 'scopeConfig' => $this->scopeConfigInterface, 'storeManager' => $this->storeManagerInterface ] ); } /** * @dataProvider isRssAllowedDataProvider * @param bool $isAllowed */ public function testIsRssAllowed($isAllowed) { $this->scopeConfigInterface->expects($this->once())->method('getValue')->willReturn($isAllowed); $this->assertEquals($isAllowed, $this->link->isRssAllowed()); } /** * @return array */ public function isRssAllowedDataProvider() { return [ [true], [false] ]; } public function testGetLabel() { $this->assertEquals('Subscribe to RSS Feed', $this->link->getLabel()); } /** * @dataProvider isTopCategoryDataProvider * @param bool $isTop * @param string $categoryLevel */ public function testIsTopCategory($isTop, $categoryLevel) { $categoryModel = $this->createPartialMock(Category::class, [ 'getLevel']); $this->registry->expects($this->once())->method('registry')->willReturn($categoryModel); $categoryModel->expects($this->any())->method('getLevel')->willReturn($categoryLevel); $this->assertEquals($isTop, $this->link->isTopCategory()); } /** * @return array */ public function isTopCategoryDataProvider() { return [ [true, '2'], [false, '1'] ]; } public function testGetLink() { $rssUrl = 'http://rss.magento.com'; $this->urlBuilderInterface->expects($this->once())->method('getUrl')->willReturn($rssUrl); $categoryModel = $this->createPartialMock(Category::class, [ 'getId']); $this->registry->expects($this->once())->method('registry')->willReturn($categoryModel); $categoryModel->expects($this->any())->method('getId')->willReturn('1'); $storeModel = $this->createPartialMock(Category::class, [ 'getId']); $this->storeManagerInterface->expects($this->any())->method('getStore')->willReturn($storeModel); $storeModel->expects($this->any())->method('getId')->willReturn('1'); $this->assertEquals($rssUrl, $this->link->getLink()); } }