![]() 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-tax/Test/Unit/Block/Checkout/Shipping/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Tax\Test\Unit\Block\Checkout\Shipping; use Magento\Checkout\Model\Session; use Magento\Framework\Pricing\PriceCurrencyInterface; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use Magento\Quote\Model\Quote; use Magento\Quote\Model\Quote\Address\Rate; use Magento\Store\Model\Store; use Magento\Tax\Block\Checkout\Shipping\Price; use Magento\Tax\Helper\Data; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class PriceTest extends TestCase { /** * @var Price */ protected $priceObj; /** * @var Quote|MockObject */ protected $quote; /** * @var Store|MockObject */ protected $store; /** * @var Data|MockObject */ protected $taxHelper; /** * @var PriceCurrencyInterface|MockObject */ protected $priceCurrency; protected function setUp(): void { $objectManager = new ObjectManager($this); $this->priceCurrency = $this->getMockBuilder( PriceCurrencyInterface::class )->getMock(); $this->store = $this->getMockBuilder(Store::class) ->disableOriginalConstructor() ->getMock(); $this->quote = $this->getMockBuilder(Quote::class) ->disableOriginalConstructor() ->setMethods(['getStore', '__wakeup', 'getCustomerTaxClassId']) ->getMock(); $this->quote->expects($this->any()) ->method('getStore') ->willReturn($this->store); $checkoutSession = $this->getMockBuilder(Session::class) ->disableOriginalConstructor() ->setMethods(['getQuote', '__wakeup']) ->getMock(); $checkoutSession->expects($this->any()) ->method('getQuote') ->willReturn($this->quote); $this->taxHelper = $this->getMockBuilder(Data::class) ->disableOriginalConstructor() ->setMethods([ 'getShippingPrice', 'displayShippingPriceIncludingTax', 'displayShippingBothPrices', ]) ->getMock(); $this->priceObj = $objectManager->getObject( Price::class, [ 'checkoutSession' => $checkoutSession, 'taxHelper' => $this->taxHelper, 'priceCurrency' => $this->priceCurrency, ] ); } /** * @param float $shippingPrice * @return Rate|MockObject */ protected function setupShippingRate($shippingPrice) { $shippingRateMock = $this->getMockBuilder(Rate::class) ->disableOriginalConstructor() ->setMethods(['getPrice', '__wakeup']) ->getMock(); $shippingRateMock->expects($this->once()) ->method('getPrice') ->willReturn($shippingPrice); return $shippingRateMock; } public function testGetShippingPriceExclTax() { $shippingPrice = 5; $shippingPriceExclTax = 4.5; $convertedPrice = "$4.50"; $shippingRateMock = $this->setupShippingRate($shippingPrice); $this->taxHelper->expects($this->once()) ->method('getShippingPrice') ->willReturn($shippingPriceExclTax); $this->priceCurrency->expects($this->once()) ->method('convertAndFormat') ->with($this->logicalOr($shippingPriceExclTax, true, $this->store)) ->willReturn($convertedPrice); $this->priceObj->setShippingRate($shippingRateMock); $this->assertEquals($convertedPrice, $this->priceObj->getShippingPriceExclTax()); } public function testGetShippingPriceInclTax() { $shippingPrice = 5; $shippingPriceInclTax = 5.5; $convertedPrice = "$5.50"; $shippingRateMock = $this->setupShippingRate($shippingPrice); $this->taxHelper->expects($this->once()) ->method('getShippingPrice') ->willReturn($shippingPriceInclTax); $this->priceCurrency->expects($this->once()) ->method('convertAndFormat') ->with($this->logicalOr($shippingPriceInclTax, true, $this->store)) ->willReturn($convertedPrice); $this->priceObj->setShippingRate($shippingRateMock); $this->assertEquals($convertedPrice, $this->priceObj->getShippingPriceExclTax()); } public function testDisplayShippingPriceInclTax() { $this->taxHelper->expects($this->once()) ->method('displayShippingPriceIncludingTax'); $this->priceObj->displayShippingPriceInclTax(); } public function testDisplayShippingBothPrices() { $this->taxHelper->expects($this->once()) ->method('displayShippingBothPrices'); $this->priceObj->displayShippingBothPrices(); } }