![]() 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-sales/Test/Unit/Block/Order/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Sales\Test\Unit\Block\Order; use Magento\Customer\Model\Session; use Magento\Framework\View\Element\Template\Context; use Magento\Framework\View\Layout; use Magento\Sales\Block\Order\Recent; use Magento\Sales\Model\Order\Config; use Magento\Sales\Model\ResourceModel\Order\Collection; use Magento\Sales\Model\ResourceModel\Order\CollectionFactory; use Magento\Store\Api\Data\StoreInterface; use Magento\Store\Model\StoreManagerInterface; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class RecentTest extends TestCase { /** * @var Recent */ protected $block; /** * @var Context|MockObject */ protected $context; /** * @var CollectionFactory|MockObject */ protected $orderCollectionFactory; /** * @var Session|MockObject */ protected $customerSession; /** * @var Config|MockObject */ protected $orderConfig; /** * @var StoreManagerInterface|MockObject */ protected $storeManagerMock; /** * @inheritDoc */ protected function setUp(): void { $this->context = $this->createMock(Context::class); $this->orderCollectionFactory = $this->createPartialMock( CollectionFactory::class, ['create'] ); $this->customerSession = $this->createPartialMock(Session::class, ['getCustomerId']); $this->orderConfig = $this->createPartialMock( Config::class, ['getVisibleOnFrontStatuses'] ); $this->storeManagerMock = $this->getMockBuilder(StoreManagerInterface::class) ->getMockForAbstractClass(); } /** * @return void */ public function testConstructMethod(): void { $attribute = ['customer_id', 'store_id', 'status']; $customerId = 25; $storeId = 4; $layout = $this->createPartialMock(Layout::class, ['getBlock']); $this->context->expects($this->once()) ->method('getLayout') ->willReturn($layout); $this->customerSession->expects($this->once()) ->method('getCustomerId') ->willReturn($customerId); $statuses = ['pending', 'processing', 'complete']; $this->orderConfig->expects($this->once()) ->method('getVisibleOnFrontStatuses') ->willReturn($statuses); $this->storeManagerMock = $this->getMockBuilder(StoreManagerInterface::class) ->getMockForAbstractClass(); $storeMock = $this->getMockBuilder(StoreInterface::class) ->getMockForAbstractClass(); $this->storeManagerMock->expects($this->once())->method('getStore')->willReturn($storeMock); $storeMock->expects($this->any())->method('getId')->willReturn($storeId); $orderCollection = $this->createPartialMock(Collection::class, [ 'addAttributeToSelect', 'addFieldToFilter', 'addAttributeToFilter', 'addAttributeToSort', 'setPageSize', 'load' ]); $this->orderCollectionFactory->expects($this->once()) ->method('create') ->willReturn($orderCollection); $orderCollection ->method('addAttributeToSelect') ->with('*') ->willReturn($orderCollection); $orderCollection ->method('load') ->willReturn($orderCollection); $orderCollection ->method('setPageSize') ->with('5') ->willReturn($orderCollection); $orderCollection ->method('addAttributeToSort') ->with('created_at', 'desc') ->willReturn($orderCollection); $orderCollection ->method('addAttributeToFilter') ->withConsecutive( [$attribute[0], $customerId], [$attribute[1], $storeId], [$attribute[2], ['in' => $statuses]] )->willReturnOnConsecutiveCalls($orderCollection, $orderCollection, $orderCollection); $this->block = new Recent( $this->context, $this->orderCollectionFactory, $this->customerSession, $this->orderConfig, [], $this->storeManagerMock ); $this->assertEquals($orderCollection, $this->block->getOrders()); } }