![]() 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/Model/Order/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Sales\Test\Unit\Model\Order; use Magento\Payment\Model\MethodInterface; use Magento\Sales\Api\Data\OrderInterface; use Magento\Sales\Api\Data\OrderPaymentInterface; use Magento\Sales\Model\Order\Config; use Magento\Sales\Model\Order\StatusResolver; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class StatusResolverTest extends TestCase { /** * @param OrderInterface|MockObject $order * @param string $expectedReturn * * @dataProvider statesDataProvider */ public function testGetOrderStatusByState($order, $expectedReturn) { $actualReturn = (new StatusResolver())->getOrderStatusByState($order, 'new'); self::assertEquals($expectedReturn, $actualReturn); } /** * @return array */ public function statesDataProvider() { return [ [ $this->getOrder('pending', ['pending' => 'pending']), 'pending' ], [ $this->getOrder('processing', ['pending' => 'pending']), 'processing' ], ]; } /** * @param string $newOrderStatus * @param array $stateStatuses * @return OrderInterface|MockObject */ private function getOrder($newOrderStatus, $stateStatuses) { $order = $this->getMockBuilder(OrderInterface::class) ->setMethods(['getConfig']) ->getMockForAbstractClass(); $order->method('getPayment') ->willReturn($this->getPayment($newOrderStatus)); $order->method('getConfig') ->willReturn($this->getConfig($stateStatuses)); return $order; } /** * @param string $newOrderStatus * @return MockObject */ private function getPayment($newOrderStatus) { $payment = $this->getMockBuilder(OrderPaymentInterface::class) ->setMethods(['getMethodInstance']) ->getMockForAbstractClass(); $payment->method('getMethodInstance') ->willReturn($this->getMethodInstance($newOrderStatus)); return $payment; } /** * @param string $newOrderStatus * @return MethodInterface|MockObject */ private function getMethodInstance($newOrderStatus) { $methodInstance = $this->getMockBuilder(MethodInterface::class) ->getMockForAbstractClass(); $methodInstance->method('getConfigData') ->with('order_status') ->willReturn($newOrderStatus); return $methodInstance; } /** * @param array $stateStatuses * @return Config|MockObject */ private function getConfig($stateStatuses) { $config = $this->getMockBuilder(Config::class) ->disableOriginalConstructor() ->getMock(); $config->method('getStateStatuses') ->willReturn($stateStatuses); $config->method('getStateDefaultStatus') ->willReturn('processing'); return $config; } }