10 use Magento\Mtf\TestStep\TestStepInterface;
12 use Magento\Sales\Test\Page\Adminhtml\OrderIndex;
13 use Magento\Sales\Test\Page\Adminhtml\OrderInvoiceNew;
14 use Magento\Sales\Test\Page\Adminhtml\OrderInvoiceView;
15 use Magento\Sales\Test\Page\Adminhtml\SalesOrderView;
16 use Magento\Sales\Test\TestStep\Utils\CompareQtyTrait;
17 use Magento\Shipping\Test\Page\Adminhtml\OrderShipmentView;
38 private $salesOrderView;
45 private $orderInvoiceNew;
52 private $orderInvoiceView;
59 private $orderShipmentView;
73 private $paymentAction;
94 OrderIndex $orderIndex,
95 SalesOrderView $salesOrderView,
96 OrderInvoiceNew $orderInvoiceNew,
97 OrderInvoiceView $orderInvoiceView,
98 OrderInjectable $order,
99 OrderShipmentView $orderShipmentView,
100 $paymentAction =
'authorize' 103 $this->orderIndex = $orderIndex;
104 $this->salesOrderView = $salesOrderView;
105 $this->orderInvoiceNew = $orderInvoiceNew;
106 $this->orderInvoiceView = $orderInvoiceView;
108 $this->orderShipmentView = $orderShipmentView;
109 $this->paymentAction = $paymentAction;
119 if ($this->paymentAction ==
'sale') {
122 $this->orderIndex->open();
123 $this->orderIndex->getSalesOrderGrid()->searchAndOpen([
'id' => $this->order->getId()]);
124 $invoicesData = $this->order->getInvoice() !==
null ? $this->order->getInvoice() : [
'invoiceData' => []];
125 foreach ($invoicesData as $invoiceData) {
126 $this->salesOrderView->getPageActions()->invoice();
129 $this->orderInvoiceNew->getFormBlock()->fillProductData($invoiceData,
$items);
130 if ($this->compare($this->cart->getItems(), $invoiceData)) {
131 $this->orderInvoiceNew->getFormBlock()->updateQty();
134 $this->orderInvoiceNew->getFormBlock()->fillFormData($invoiceData);
135 $this->orderInvoiceNew->getFormBlock()->submit();
142 'invoiceIds' => $invoiceIds,
143 'shipmentIds' => isset($shipmentIds) ? $shipmentIds :
null,
155 $this->salesOrderView->getOrderForm()->openTab(
'invoices');
156 return $this->salesOrderView->getOrderForm()->getTab(
'invoices')->getGridBlock()->getIds();
166 $this->salesOrderView->getOrderForm()->openTab(
'shipments');
167 return $this->salesOrderView->getOrderForm()->getTab(
'shipments')->getGridBlock()->getIds();
177 return $this->cart->getItems();
__construct(Cart $cart, OrderIndex $orderIndex, SalesOrderView $salesOrderView, OrderInvoiceNew $orderInvoiceNew, OrderInvoiceView $orderInvoiceView, OrderInjectable $order, OrderShipmentView $orderShipmentView, $paymentAction='authorize')