![]() 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-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\App\ObjectManager; use Magento\Framework\ObjectManagerInterface; use Magento\Framework\View\Element\Template\Context; use Magento\Framework\View\Page\Title; use Magento\Sales\Block\Order\History; use Magento\Sales\Model\Order\Config; use Magento\Sales\Model\ResourceModel\Order\Collection; use Magento\Sales\Model\ResourceModel\Order\CollectionFactory; use Magento\Sales\Model\ResourceModel\Order\CollectionFactoryInterface; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class HistoryTest extends TestCase { /** * @var History */ protected $model; /** * @var Context|MockObject */ protected $context; /** * @var CollectionFactory|MockObject */ protected $orderCollectionFactory; /** * @var CollectionFactoryInterface|MockObject */ private $orderCollectionFactoryInterface; /** * @var ObjectManager|MockObject */ private $objectManager; /** * @var Session|MockObject */ protected $customerSession; /** * @var Config|MockObject */ protected $orderConfig; /** * @var \Magento\Framework\View\Page\Config|MockObject */ protected $pageConfig; /** * @var Title|MockObject */ protected $pageTitleMock; /** * @inheirtDoc */ protected function setUp(): void { $this->context = $this->createMock(Context::class); $this->orderCollectionFactory = $this->getMockBuilder(CollectionFactory::class) ->disableOriginalConstructor() ->onlyMethods(['create']) ->getMock(); $this->orderCollectionFactoryInterface = $this->getMockBuilder(CollectionFactoryInterface::class) ->disableOriginalConstructor() ->onlyMethods(['create']) ->getMockForAbstractClass(); $this->objectManager = $this->getMockForAbstractClass(ObjectManagerInterface::class); $this->objectManager->expects($this->any()) ->method('get') ->willReturn($this->orderCollectionFactoryInterface); ObjectManager::setInstance($this->objectManager); $this->customerSession = $this->getMockBuilder(Session::class) ->onlyMethods(['getCustomerId']) ->disableOriginalConstructor() ->getMock(); $this->orderConfig = $this->getMockBuilder(Config::class) ->onlyMethods(['getVisibleOnFrontStatuses']) ->disableOriginalConstructor() ->getMock(); $this->pageConfig = $this->getMockBuilder(\Magento\Framework\View\Page\Config::class) ->disableOriginalConstructor() ->getMock(); $this->pageTitleMock = $this->getMockBuilder(Title::class) ->disableOriginalConstructor() ->getMock(); } /** * @return void */ public function testConstructMethod(): void { $data = []; $customerId = 25; $this->customerSession->expects($this->once()) ->method('getCustomerId') ->willReturn($customerId); $statuses = ['pending', 'processing', 'comlete']; $this->orderConfig->expects($this->once()) ->method('getVisibleOnFrontStatuses') ->willReturn($statuses); $orderCollection = $this->createPartialMock( Collection::class, ['addFieldToSelect', 'addFieldToFilter', 'setOrder'] ); $this->context->expects($this->any()) ->method('getPageConfig') ->willReturn($this->pageConfig); $orderCollection ->method('addFieldToSelect') ->with('*') ->willReturn($orderCollection); $orderCollection ->method('setOrder') ->with('created_at', 'desc') ->willReturn($orderCollection); $orderCollection ->method('addFieldToFilter') ->with('status', ['in' => $statuses]) ->willReturn($orderCollection); $this->orderCollectionFactoryInterface->expects($this->atLeastOnce()) ->method('create') ->willReturn($orderCollection); $this->pageConfig->expects($this->atLeastOnce()) ->method('getTitle') ->willReturn($this->pageTitleMock); $this->pageTitleMock->expects($this->atLeastOnce()) ->method('set') ->willReturnSelf(); $this->model = new History( $this->context, $this->orderCollectionFactory, $this->customerSession, $this->orderConfig, $data ); $this->assertEquals($orderCollection, $this->model->getOrders()); } }