123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- 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\TestCase;
- use PHPUnit_Framework_MockObject_MockObject as MockObject;
- 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()
- {
- $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::assertTrue(is_array($result['items']));
- self::assertEquals(2, count($result['items']));
- self::assertEquals(1, $result['items'][0]['product_price']);
- self::assertEquals(1, $result['items'][1]['product_price']);
- }
- }
|