/**
  * Get invoice new product prices.
  *
  * @param InjectableFixture $product
  * @param array $actualPrices
  * @return array
  */
 public function getInvoiceNewPrices($actualPrices, InjectableFixture $product)
 {
     $productBlock = $this->orderInvoiceNew->getFormBlock()->getItemsBlock()->getItemProductBlock($product);
     $actualPrices['cart_item_price_excl_tax'] = $productBlock->getItemPriceExclTax();
     $actualPrices['cart_item_price_incl_tax'] = $productBlock->getItemPriceInclTax();
     $actualPrices['cart_item_subtotal_excl_tax'] = $productBlock->getItemSubExclTax();
     $actualPrices['cart_item_subtotal_incl_tax'] = $productBlock->getItemSubInclTax();
     return $actualPrices;
 }
Beispiel #2
0
 /**
  * Create invoice (with shipment optionally) for order on backend.
  *
  * @return array
  */
 public function run()
 {
     $this->orderIndex->open();
     $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]);
     $this->salesOrderView->getPageActions()->invoice();
     if (!empty($this->data)) {
         $this->orderInvoiceNew->getFormBlock()->fillData($this->data, $this->order->getEntityId()['products']);
         $this->orderInvoiceNew->getFormBlock()->updateQty();
     }
     $this->orderInvoiceNew->getFormBlock()->submit();
     $invoiceIds = $this->getInvoiceIds();
     if (!empty($this->data)) {
         $shipmentIds = $this->getShipmentIds();
     }
     return ['invoiceIds' => $invoiceIds, 'shipmentIds' => isset($shipmentIds) ? $shipmentIds : null];
 }