![]() 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/Plugin/Checkout/CustomerData/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Tax\Test\Unit\Plugin\Checkout\CustomerData; use Magento\Checkout\CustomerData\Cart as CheckoutCart; use Magento\Checkout\Helper\Data; use Magento\Checkout\Model\Session; use Magento\Quote\Model\Quote; use Magento\Quote\Model\Quote\Item; use Magento\Tax\Block\Item\Price\Renderer; use Magento\Tax\Plugin\Checkout\CustomerData\Cart; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class CartTest extends TestCase { /** * @var Session|MockObject */ private $checkoutSession; /** * @var Data|MockObject */ private $checkoutHelper; /** * @var Renderer|MockObject */ private $itemPriceRenderer; /** * @var CheckoutCart|MockObject */ private $checkoutCart; /** * @var Quote|MockObject */ private $quote; /** * @var Cart */ private $cart; protected function setUp(): void { $this->checkoutSession = $this->createMock(Session::class); $this->checkoutHelper = $this->createMock(Data::class); $this->itemPriceRenderer = $this->createMock(Renderer::class); $this->checkoutCart = $this->createMock(CheckoutCart::class); $this->quote = $this->createMock(Quote::class); $this->checkoutSession->method('getQuote') ->willReturn($this->quote); $this->cart = new Cart( $this->checkoutSession, $this->checkoutHelper, $this->itemPriceRenderer ); } public function testAfterGetSectionData() { $input = ['items' => [ [ 'item_id' => 1, 'product_price' => '' ], [ 'item_id' => 2, 'product_price' => '' ], ] ]; $this->checkoutHelper->method('formatPrice') ->willReturn('formatted'); $item1 = $this->createMock(Item::class); $item2 = $this->createMock(Item::class); $item1->method('getItemId') ->willReturn(1); $item2->method('getItemId') ->willReturn(2); $this->quote->method('getAllVisibleItems') ->willReturn([ $item1, $item2, ]); $this->itemPriceRenderer->method('toHtml') ->willReturn(1); $result = $this->cart->afterGetSectionData($this->checkoutCart, $input); self::assertArrayHasKey('subtotal_incl_tax', $result); self::assertArrayHasKey('subtotal_excl_tax', $result); self::assertArrayHasKey('items', $result); self::assertIsArray($result['items']); self::assertCount(2, $result['items']); self::assertEquals(1, $result['items'][0]['product_price']); self::assertEquals(1, $result['items'][1]['product_price']); } }