10 use Magento\Mtf\TestStep\TestStepInterface;
12 use Magento\Sales\Test\Page\Adminhtml\OrderCreditMemoNew;
13 use Magento\Sales\Test\Page\Adminhtml\OrderIndex;
14 use Magento\Sales\Test\Page\Adminhtml\OrderInvoiceView;
15 use Magento\Sales\Test\Page\Adminhtml\SalesOrderView;
16 use Magento\Sales\Test\TestStep\Utils\CompareQtyTrait;
37 private $salesOrderView;
44 private $orderCreditMemoNew;
58 private $orderInvoiceView;
77 OrderIndex $orderIndex,
78 SalesOrderView $salesOrderView,
79 OrderInjectable $order,
80 OrderInvoiceView $orderInvoiceView,
81 OrderCreditMemoNew $orderCreditMemoNew
84 $this->orderIndex = $orderIndex;
85 $this->salesOrderView = $salesOrderView;
87 $this->orderInvoiceView = $orderInvoiceView;
88 $this->orderCreditMemoNew = $orderCreditMemoNew;
98 $this->orderIndex->open();
99 $this->orderIndex->getSalesOrderGrid()->searchAndOpen([
'id' => $this->order->getId()]);
100 $refundsData = $this->order->getRefund();
101 foreach ($refundsData as $refundData) {
103 $invoicesGrid = $this->salesOrderView->getOrderForm()->getTab(
'invoices')->getGridBlock();
104 $this->salesOrderView->getOrderForm()->openTab(
'invoices');
105 $invoicesGrid->viewInvoice();
106 $this->salesOrderView->getPageActions()->orderInvoiceCreditMemo();
108 $items = $this->cart->getItems();
109 $this->orderCreditMemoNew->getFormBlock()->fillProductData($refundData,
$items);
110 if ($this->compare(
$items, $refundData)) {
111 $this->orderCreditMemoNew->getFormBlock()->updateQty();
114 $this->orderCreditMemoNew->getFormBlock()->submit();
117 return [
'ids' => [
'creditMemoIds' => $this->getCreditMemoIds()]];
125 private function getCreditMemoIds()
127 $this->salesOrderView->getOrderForm()->openTab(
'creditmemos');
128 return $this->salesOrderView->getOrderForm()->getTab(
'creditmemos')->getGridBlock()->getIds();
__construct(Cart $cart, OrderIndex $orderIndex, SalesOrderView $salesOrderView, OrderInjectable $order, OrderInvoiceView $orderInvoiceView, OrderCreditMemoNew $orderCreditMemoNew)