Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CancelOrderTest.php
Go to the documentation of this file.
1 <?php
7 
17 use PHPUnit\Framework\MockObject_MockObject as MockObject;
18 
19 class CancelOrderTest extends \PHPUnit\Framework\TestCase
20 {
24  private static $caseId = 123;
25 
29  private $objectManager;
30 
34  private $apiClient;
35 
39  protected function setUp()
40  {
41  $this->objectManager = Bootstrap::getObjectManager();
42 
43  $this->apiClient = $this->getMockBuilder(ApiClient::class)
44  ->disableOriginalConstructor()
45  ->setMethods(['makeApiCall'])
46  ->getMock();
47 
48  $this->objectManager->addSharedInstance($this->apiClient, ApiClient::class);
49  }
50 
54  protected function tearDown()
55  {
56  $this->objectManager->removeSharedInstance(ApiClient::class);
57  }
58 
67  public function testAfterCancel()
68  {
69  $order = $this->getOrder();
70 
71  $this->apiClient->expects(self::once())
72  ->method('makeApiCall')
73  ->with(
74  self::equalTo('/cases/' . self::$caseId . '/guarantee'),
75  'PUT',
76  [
77  'guaranteeDisposition' => CaseInterface::GUARANTEE_CANCELED
78  ]
79  )
80  ->willReturn([
81  'disposition' => CaseInterface::GUARANTEE_CANCELED
82  ]);
83 
85  $orderService = $this->objectManager->get(OrderManagementInterface::class);
86  $orderService->cancel($order->getEntityId());
87 
89  $caseRepository = $this->objectManager->get(CaseRepositoryInterface::class);
90  $case = $caseRepository->getByCaseId(self::$caseId);
91 
92  self::assertEquals(CaseInterface::GUARANTEE_CANCELED, $case->getGuaranteeDisposition());
93  }
94 
100  private function getOrder()
101  {
103  $searchCriteriaBuilder = $this->objectManager->get(SearchCriteriaBuilder::class);
105  ->create();
106 
107  $orderRepository = $this->objectManager->get(OrderRepositoryInterface::class);
109  ->getItems();
110 
112  return array_pop($orders);
113  }
114 }
$orderRepository
Definition: order.php:69
$case
$order
Definition: order.php:55
$caseRepository
$searchCriteria
$orderService
Definition: invoice.php:13
$searchCriteriaBuilder