/** * Prepare expected result * * @param array $expectedInvoiceData * @return array */ protected function prepareExpectedResult(array $expectedInvoiceData) { $totalInvoice = $this->order->getPrice()[0]['grand_invoice_total']; $expectedInvoiceData['invoiced'] += 1; $expectedInvoiceData['qty'] += 1; $expectedInvoiceData['total-invoiced'] += $totalInvoice; return $expectedInvoiceData; }
/** * Prepare expected result * * @param array $expectedSalesData * @return array */ protected function prepareExpectedResult(array $expectedSalesData) { $salesItems = 0; $invoice = $this->order->getPrice()[0]['grand_invoice_total']; $salesTotal = $this->order->getPrice()[0]['grand_order_total']; foreach ($this->order->getEntityId()['products'] as $product) { $salesItems += $product->getCheckoutData()['qty']; } $expectedSalesData['orders'] += 1; $expectedSalesData['sales-items'] += $salesItems; $expectedSalesData['sales-total'] += $salesTotal; $expectedSalesData['invoiced'] += $invoice; return $expectedSalesData; }
/** * Assert that invoiced Grand Total amount is equal to placed order Grand total amount on invoice page (frontend) * * @param OrderHistory $orderHistory * @param OrderInjectable $order * @param CustomerOrderView $customerOrderView * @param InvoiceView $invoiceView * @param array $ids * @return void */ public function processAssert(OrderHistory $orderHistory, OrderInjectable $order, CustomerOrderView $customerOrderView, InvoiceView $invoiceView, array $ids) { $this->loginCustomerAndOpenOrderPage($order->getDataFieldConfig('customer_id')['source']->getCustomer()); $orderHistory->getOrderHistoryBlock()->openOrderById($order->getId()); $customerOrderView->getOrderViewBlock()->openLinkByName('Invoices'); foreach ($ids['invoiceIds'] as $key => $invoiceId) { \PHPUnit_Framework_Assert::assertEquals(number_format($order->getPrice()[$key]['grand_invoice_total'], 2), $invoiceView->getInvoiceBlock()->getItemBlock($invoiceId)->getGrandTotal()); } }
/** * Assert that refund is present in the tab with ID and refunded amount(depending on full/partial refund). * * @param SalesOrderView $salesOrderView * @param OrderIndex $orderIndex * @param OrderInjectable $order * @param array $ids * @return void */ public function processAssert(SalesOrderView $salesOrderView, OrderIndex $orderIndex, OrderInjectable $order, array $ids) { $orderIndex->open(); $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); $salesOrderView->getOrderForm()->openTab('creditmemos'); /** @var Grid $grid */ $grid = $salesOrderView->getOrderForm()->getTab('creditmemos')->getGridBlock(); $amount = $order->getPrice(); foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { $filter = ['id' => $creditMemoId, 'amount_from' => $amount[$key]['grand_creditmemo_total'], 'amount_to' => $amount[$key]['grand_creditmemo_total']]; \PHPUnit_Framework_Assert::assertTrue($grid->isRowVisible($filter, true, false), 'Credit memo is absent on credit memos tab.'); } }
/** * Assert invoice with corresponding order ID is present in the invoices grid with corresponding amount * * @param InvoiceIndex $invoiceIndex * @param OrderInjectable $order * @param array $ids * @return void */ public function processAssert(InvoiceIndex $invoiceIndex, OrderInjectable $order, array $ids) { $invoiceIndex->open(); $amount = $order->getPrice(); $orderId = $order->getId(); foreach ($ids['invoiceIds'] as $key => $invoiceId) { $filter = ['id' => $invoiceId, 'order_id' => $orderId, 'grand_total_from' => $amount[$key]['grand_invoice_total'], 'grand_total_to' => $amount[$key]['grand_invoice_total']]; $invoiceIndex->getInvoicesGrid()->search($filter); $filter['grand_total_from'] = number_format($amount[$key]['grand_invoice_total'], 2); $filter['grand_total_to'] = number_format($amount[$key]['grand_invoice_total'], 2); \PHPUnit_Framework_Assert::assertTrue($invoiceIndex->getInvoicesGrid()->isRowVisible($filter, false, false), 'Invoice is absent in invoices grid on invoice index page.'); } }
/** * Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount * * @param CreditMemoIndex $creditMemoIndex * @param OrderInjectable $order * @param array $ids * @return void */ public function processAssert(CreditMemoIndex $creditMemoIndex, OrderInjectable $order, array $ids) { $creditMemoIndex->open(); $amount = $order->getPrice(); $orderId = $order->getId(); foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { $filter = ['id' => $creditMemoId, 'order_id' => $orderId, 'grand_total_from' => $amount[$key]['grand_creditmemo_total'], 'grand_total_to' => $amount[$key]['grand_creditmemo_total']]; $creditMemoIndex->getCreditMemoGrid()->search($filter); $filter['grand_total_from'] = number_format($amount[$key]['grand_creditmemo_total'], 2); $filter['grand_total_to'] = number_format($amount[$key]['grand_creditmemo_total'], 2); \PHPUnit_Framework_Assert::assertTrue($creditMemoIndex->getCreditMemoGrid()->isRowVisible($filter, false, false), "Credit memo '#{$creditMemoId}' is absent in credit memos grid on credit memo index page."); } }
/** * Assert that invoice is present in the invoices tab of the order with corresponding amount(Grand Total) * * @param SalesOrderView $salesOrderView * @param OrderIndex $orderIndex * @param OrderInjectable $order * @param array $ids * @return void */ public function processAssert(SalesOrderView $salesOrderView, OrderIndex $orderIndex, OrderInjectable $order, array $ids) { $orderIndex->open(); $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); $salesOrderView->getOrderForm()->openTab('invoices'); /** @var Grid $grid */ $grid = $salesOrderView->getOrderForm()->getTabElement('invoices')->getGridBlock(); $amount = $order->getPrice(); foreach ($ids['invoiceIds'] as $key => $invoiceId) { $filter = ['id' => $invoiceId, 'amount_from' => $amount[$key]['grand_invoice_total'], 'amount_to' => $amount[$key]['grand_invoice_total']]; $grid->search($filter); $filter['amount_from'] = number_format($amount[$key]['grand_invoice_total'], 2); $filter['amount_to'] = number_format($amount[$key]['grand_invoice_total'], 2); \PHPUnit_Framework_Assert::assertTrue($grid->isRowVisible($filter, false, false), 'Invoice is absent on invoices tab.'); } }