Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PaymentReviewTest.php
Go to the documentation of this file.
1 <?php
7 
16 
21 {
25  private $order;
26 
30  private $orderRepository;
31 
32  protected function setUp()
33  {
34  parent::setUp();
35 
37  $filterBuilder = $this->_objectManager->get(FilterBuilder::class);
38  $filters = [
39  $filterBuilder->setField(OrderInterface::INCREMENT_ID)
40  ->setValue('100000002')
41  ->create()
42  ];
43 
45  $searchCriteriaBuilder = $this->_objectManager->get(SearchCriteriaBuilder::class);
47  ->create();
48 
49  $this->orderRepository = $this->_objectManager->get(OrderRepositoryInterface::class);
50  $orders = $this->orderRepository->getList($searchCriteria)
51  ->getItems();
53  $this->order = array_pop($orders);
54  }
55 
61  public function testExecuteAccept()
62  {
63  $orderId = $this->order->getEntityId();
64  $this->dispatch('backend/sales/order/reviewPayment/action/accept/order_id/' . $orderId);
65 
66  static::assertRedirect(static::stringContains('sales/order/view/order_id/' . $orderId));
67  static::assertSessionMessages(
68  static::equalTo(['The payment has been accepted.']),
70  );
71 
72  $order = $this->orderRepository->get($orderId);
73  static::assertEquals(Order::STATE_PROCESSING, $order->getState());
74  static::assertEquals(Order::STATE_PROCESSING, $order->getStatus());
75  }
76 
82  public function testExecuteDeny()
83  {
84  $orderId = $this->order->getEntityId();
85  $payment = $this->order->getPayment();
86 
87  $adapter = $this->getMockBuilder(Adapter::class)
88  ->disableOriginalConstructor()
89  ->setMethods(['denyPayment'])
90  ->getMock();
91  // uses the mock instead a real adapter to avoid api calls to Braintree gateway
92  $payment->setMethodInstance($adapter);
93  $this->orderRepository->save($this->order);
94 
95  $adapter->expects(static::once())
96  ->method('denyPayment')
97  ->with($payment)
98  ->willReturn(true);
99 
100  $this->dispatch('backend/sales/order/reviewPayment/action/deny/order_id/' . $orderId);
101 
102  static::assertRedirect(static::stringContains('sales/order/view/order_id/' . $orderId));
103  static::assertSessionMessages(
104  static::equalTo(['The payment has been denied.']),
106  );
107 
108  $order = $this->orderRepository->get($orderId);
109  static::assertEquals(Order::STATE_CANCELED, $order->getState());
110  static::assertEquals(Order::STATE_CANCELED, $order->getStatus());
111  }
112 }
$adapter
Definition: webapi_user.php:16
$searchCriteria
$payment
Definition: order.php:17
$filters
Definition: uploader.phtml:11
$searchCriteriaBuilder