![]() 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/cartforge.co/vendor/magento/module-wishlist/Test/Unit/Block/Item/ |
<?php declare(strict_types=1); /** * \Magento\Wishlist\Block\Item\Configure * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Wishlist\Test\Unit\Block\Item; use Magento\Catalog\Model\Product; use Magento\Framework\Escaper; use Magento\Framework\Registry; use Magento\Framework\View\Element\AbstractBlock; use Magento\Framework\View\Element\Template\Context; use Magento\Framework\View\LayoutInterface; use Magento\Wishlist\Block\Item\Configure; use Magento\Wishlist\Helper\Data; use Magento\Wishlist\Model\Item; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class ConfigureTest extends TestCase { /** * @var Configure */ protected $model; /** * @var MockObject */ protected $registryMock; /** * @var MockObject */ protected $contextMock; /** * @var MockObject */ protected $wishlistDataMock; protected function setUp(): void { $this->wishlistDataMock = $this->getMockBuilder( Data::class )->disableOriginalConstructor() ->getMock(); $this->contextMock = $this->getMockBuilder( Context::class )->disableOriginalConstructor() ->getMock(); $this->registryMock = $this->getMockBuilder(Registry::class) ->disableOriginalConstructor() ->getMock(); $escaperMock = $this->getMockBuilder(Escaper::class) ->disableOriginalConstructor() ->getMock(); $escaperMock->method('escapeHtml') ->willReturnCallback( function ($string) { return 'escapeHtml' . $string; } ); $this->contextMock->expects($this->once()) ->method('getEscaper') ->willReturn($escaperMock); $this->model = new Configure( $this->contextMock, $this->wishlistDataMock, $this->registryMock ); } public function testGetWishlistOptions() { $typeId = 'simple'; $product = $this->getMockBuilder( Product::class )->disableOriginalConstructor() ->getMock(); $product->expects($this->once())->method('getTypeId')->willReturn($typeId); $this->registryMock->expects($this->once()) ->method('registry') ->with('product') ->willReturn($product); $this->assertEquals(['productType' => 'escapeHtml' . $typeId], $this->model->getWishlistOptions()); } public function testGetProduct() { $product = 'some test product'; $this->registryMock->expects( $this->once() )->method( 'registry' )->with( 'product' )->willReturn( $product ); $this->assertEquals($product, $this->model->getProduct()); } public function testSetLayout() { $layoutMock = $this->getMockForAbstractClass(LayoutInterface::class); $blockMock = $this->getMockBuilder(AbstractBlock::class) ->addMethods(['setCustomAddToCartUrl']) ->disableOriginalConstructor() ->getMockForAbstractClass(); $layoutMock->expects($this->once()) ->method('getBlock') ->with('product.info') ->willReturn($blockMock); $itemMock = $this->createMock(Item::class); $this->registryMock->expects($this->exactly(2)) ->method('registry') ->with('wishlist_item') ->willReturn($itemMock); $this->wishlistDataMock->expects($this->once()) ->method('getAddToCartUrl') ->with($itemMock) ->willReturn('some_url'); $blockMock->expects($this->once()) ->method('setCustomAddToCartUrl') ->with('some_url'); $this->assertEquals($this->model, $this->model->setLayout($layoutMock)); $this->assertEquals($layoutMock, $this->model->getLayout()); } public function testSetLayoutWithNoItem() { $layoutMock = $this->getMockForAbstractClass(LayoutInterface::class); $blockMock = $this->getMockBuilder(AbstractBlock::class) ->addMethods(['setCustomAddToCartUrl']) ->disableOriginalConstructor() ->getMockForAbstractClass(); $layoutMock->expects($this->once()) ->method('getBlock') ->with('product.info') ->willReturn($blockMock); $this->registryMock->expects($this->exactly(1)) ->method('registry') ->with('wishlist_item') ->willReturn(null); $this->wishlistDataMock->expects($this->never()) ->method('getAddToCartUrl'); $blockMock->expects($this->never()) ->method('setCustomAddToCartUrl'); $this->assertEquals($this->model, $this->model->setLayout($layoutMock)); $this->assertEquals($layoutMock, $this->model->getLayout()); } public function testSetLayoutWithNoBlockAndItem() { $layoutMock = $this->getMockForAbstractClass(LayoutInterface::class); $layoutMock->expects($this->once()) ->method('getBlock') ->with('product.info') ->willReturn(null); $this->registryMock->expects($this->never()) ->method('registry'); $this->wishlistDataMock->expects($this->never()) ->method('getAddToCartUrl'); $this->assertEquals($this->model, $this->model->setLayout($layoutMock)); $this->assertEquals($layoutMock, $this->model->getLayout()); } }