Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
All Data Structures Namespaces Files Functions Variables Pages
AssertOrderStatusInGrid.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Sales\Test\Fixture\OrderStatus;
10 use Magento\Sales\Test\Page\Adminhtml\OrderStatusIndex;
11 use Magento\Mtf\Constraint\AbstractConstraint;
12 
17 class AssertOrderStatusInGrid extends AbstractConstraint
18 {
24  protected $stateMapping = ["Pending" => "new"];
25 
34  public function processAssert(
35  OrderStatus $orderStatus,
36  OrderStatusIndex $orderStatusIndexPage,
37  $defaultState = null
38  ) {
39  $orderStatusIndexPage->open();
40  $orderStatusLabel = $orderStatus->getLabel();
41  $filter = ['status' => $orderStatus->getStatus(), 'label' => $orderStatusLabel];
42  if ($defaultState !== null) {
43  $state = $this->prepareState($orderStatus->getState());
44  $filter = ['label' => $defaultState, 'state' => $state];
45  }
46 
47  \PHPUnit\Framework\Assert::assertTrue(
48  $orderStatusIndexPage->getOrderStatusGrid()->isRowVisible($filter, true, false),
49  'Order status \'' . $orderStatusLabel . '\' is absent in Order Status grid.'
50  );
51  }
52 
59  protected function prepareState($state)
60  {
61  if (isset($this->stateMapping[$state])) {
62  return $this->stateMapping[$state];
63  } else {
64  return $state;
65  }
66  }
67 
73  public function toString()
74  {
75  return 'Order status is present in grid';
76  }
77 }
$orderStatus
Definition: order_status.php:9
processAssert(OrderStatus $orderStatus, OrderStatusIndex $orderStatusIndexPage, $defaultState=null)