Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
OrderCommandTest.php
Go to the documentation of this file.
1 <?php
7 
13 use PHPUnit_Framework_MockObject_MockObject as MockObject;
14 
18 class OrderCommandTest extends \PHPUnit\Framework\TestCase
19 {
23  private $amount = 10.00;
24 
28  private $newOrderStatus = 'custom_status';
29 
41  public function testExecute(
42  $isTransactionPending,
43  $isFraudDetected,
44  $expectedState,
45  $expectedStatus,
46  $expectedMessage
47  ) {
48  $actualReturn = (new OrderCommand($this->getStatusResolver()))->execute(
49  $this->getPayment($isTransactionPending, $isFraudDetected),
50  $this->amount,
51  $this->getOrder()
52  );
53 
54  $this->assertOrderStateAndStatus($this->getOrder(), $expectedState, $expectedStatus);
55  self::assertEquals(__($expectedMessage, $this->amount), $actualReturn);
56  }
57 
61  public function commandResultDataProvider()
62  {
63  return [
64  [
65  false,
66  false,
68  $this->newOrderStatus,
69  'Ordered amount of %1'
70  ],
71  [
72  true,
73  false,
75  $this->newOrderStatus,
76  'The order amount of %1 is pending approval on the payment gateway.'
77  ],
78  [
79  false,
80  true,
83  'The order amount of %1 is pending approval on the payment gateway.'
84  ],
85  [
86  true,
87  true,
90  'The order amount of %1 is pending approval on the payment gateway.'
91  ],
92  ];
93  }
94 
98  private function getStatusResolver()
99  {
100  $statusResolver = $this->getMockBuilder(StatusResolver::class)
101  ->disableOriginalConstructor()
102  ->getMock();
103  $statusResolver->method('getOrderStatusByState')
104  ->willReturn($this->newOrderStatus);
105 
106  return $statusResolver;
107  }
108 
112  private function getOrder()
113  {
114  $order = $this->getMockBuilder(Order::class)
115  ->disableOriginalConstructor()
116  ->getMock();
117  $order->method('getBaseCurrency')
118  ->willReturn($this->getCurrency());
119 
120  return $order;
121  }
122 
128  private function getPayment($isTransactionPending, $isFraudDetected)
129  {
130  $payment = $this->getMockBuilder(OrderPaymentInterface::class)
131  ->setMethods(['getIsTransactionPending', 'getIsFraudDetected'])
132  ->getMockForAbstractClass();
133  $payment->method('getIsTransactionPending')
134  ->willReturn($isTransactionPending);
135  $payment->method('getIsFraudDetected')
136  ->willReturn($isFraudDetected);
137 
138  return $payment;
139  }
140 
144  private function getCurrency()
145  {
146  $currency = $this->getMockBuilder(Currency::class)
147  ->disableOriginalConstructor()
148  ->getMock();
149  $currency->method('formatTxt')
150  ->willReturn($this->amount);
151 
152  return $currency;
153  }
154 
160  private function assertOrderStateAndStatus($order, $expectedState, $expectedStatus)
161  {
162  $order->method('setState')->with($expectedState);
163  $order->method('setStatus')->with($expectedStatus);
164  }
165 }
if( $block->displayPriceExclTax()||$block->displayBothPrices())(__('Excl. Tax')) ?>"> <?php if ($block -> displayPriceWithWeeeDetails()): ?> <span class="cart-tax-total" data-mage-init=' Magento Weee Helper Data Magento Weee Helper Data title amount
Definition: unit.phtml:68
$order
Definition: order.php:55
__()
Definition: __.php:13
$payment
Definition: order.php:17
testExecute( $isTransactionPending, $isFraudDetected, $expectedState, $expectedStatus, $expectedMessage)