Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CaptureCommandTest.php
Go to the documentation of this file.
1 <?php
7 
13 use PHPUnit_Framework_MockObject_MockObject as MockObject;
14 
18 class CaptureCommandTest 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 CaptureCommand($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  'Captured amount of %1 online.'
70  ],
71  [
72  true,
73  false,
75  $this->newOrderStatus,
76  'An amount of %1 will be captured after being approved at the payment gateway.'
77  ],
78  [
79  false,
80  true,
83  'Captured amount of %1 online.' .
84  ' Order is suspended as its capturing amount %1 is suspected to be fraudulent.'
85  ],
86  [
87  true,
88  true,
91  'An amount of %1 will be captured after being approved at the payment gateway.' .
92  ' Order is suspended as its capturing amount %1 is suspected to be fraudulent.'
93  ],
94  ];
95  }
96 
100  private function getStatusResolver()
101  {
102  $statusResolver = $this->getMockBuilder(StatusResolver::class)
103  ->disableOriginalConstructor()
104  ->getMock();
105  $statusResolver->method('getOrderStatusByState')
106  ->willReturn($this->newOrderStatus);
107 
108  return $statusResolver;
109  }
110 
114  private function getOrder()
115  {
116  $order = $this->getMockBuilder(Order::class)
117  ->disableOriginalConstructor()
118  ->getMock();
119  $order->method('getBaseCurrency')
120  ->willReturn($this->getCurrency());
121 
122  return $order;
123  }
124 
130  private function getPayment($isTransactionPending, $isFraudDetected)
131  {
132  $payment = $this->getMockBuilder(OrderPaymentInterface::class)
133  ->setMethods(['getIsTransactionPending', 'getIsFraudDetected'])
134  ->getMockForAbstractClass();
135  $payment->method('getIsTransactionPending')
136  ->willReturn($isTransactionPending);
137  $payment->method('getIsFraudDetected')
138  ->willReturn($isFraudDetected);
139 
140  return $payment;
141  }
142 
146  private function getCurrency()
147  {
148  $currency = $this->getMockBuilder(Currency::class)
149  ->disableOriginalConstructor()
150  ->getMock();
151  $currency->method('formatTxt')
152  ->willReturn($this->amount);
153 
154  return $currency;
155  }
156 
162  private function assertOrderStateAndStatus($order, $expectedState, $expectedStatus)
163  {
164  $order->method('setState')->with($expectedState);
165  $order->method('setStatus')->with($expectedStatus);
166  }
167 }
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)