コード例 #1
0
 /**
  * Run Update Custom OrderStatus Test.
  *
  * @param OrderStatus $orderStatusInitial
  * @param OrderStatus $orderStatus
  * @param OrderInjectable $order
  * @param FixtureFactory $fixtureFactory
  * @param string $orderExist
  * @return array
  */
 public function test(OrderStatus $orderStatusInitial, OrderStatus $orderStatus, OrderInjectable $order, FixtureFactory $fixtureFactory, $orderExist)
 {
     // Preconditions:
     $orderStatusInitial->persist();
     if ($orderExist == 'Yes') {
         $config = $fixtureFactory->createByCode('configData', ['dataset' => 'checkmo_custom_new_order_status', 'data' => ['payment/checkmo/order_status' => ['value' => $orderStatusInitial->getStatus()]]]);
         $config->persist();
         $order->persist();
     }
     // Steps:
     $this->orderStatusIndex->open();
     $this->orderStatusIndex->getOrderStatusGrid()->searchAndOpen(['label' => $orderStatusInitial->getLabel()]);
     $this->orderStatusEdit->getOrderStatusForm()->fill($orderStatus);
     $this->orderStatusEdit->getFormPageActions()->save();
     // Configuring orderStatus for asserts.
     $orderStatus = $fixtureFactory->createByCode('orderStatus', ['data' => array_merge($orderStatusInitial->getData(), $orderStatus->getData())]);
     // Prepare data for tear down
     $this->orderStatus = $orderStatus;
     $this->orderStatusInitial = $orderStatusInitial;
     $this->order = $order;
     return ['orderStatus' => $orderStatus, 'status' => $orderStatus->getLabel(), 'customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer()];
 }