/**
  * Assert that message from dataset is displayed on order(s) view page on backend.
  *
  * @param GiftMessage $giftMessage
  * @param SalesOrderView $salesOrderView
  * @param OrderIndex $orderIndex
  * @param FixtureFactory $fixtureFactory
  * @param array $products
  * @param string $orderId
  * @return void
  */
 public function processAssert(GiftMessage $giftMessage, SalesOrderView $salesOrderView, OrderIndex $orderIndex, FixtureFactory $fixtureFactory, array $products, $orderId)
 {
     $expectedData = [];
     $actualData = [];
     $orderIndex->open()->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
     if ($giftMessage->getAllowGiftMessagesForOrder() === 'Yes') {
         $formData = ['sender' => $giftMessage->getSender(), 'recipient' => $giftMessage->getRecipient(), 'message' => $giftMessage->getMessage()];
         $giftMessageForm = $fixtureFactory->createByCode('giftMessage', ['data' => $formData]);
         $expectedData[] = $giftMessageForm->getData();
         $actualData[] = $salesOrderView->getGiftOptionsBlock()->getData($giftMessageForm);
     }
     if ($giftMessage->getAllowGiftOptionsForItems() === 'Yes') {
         foreach ($giftMessage->getItems() as $key => $giftMessageItem) {
             $expectedData[] = $giftMessageItem->getData();
             $product = $products[$key];
             $actualData[] = $salesOrderView->getGiftItemsBlock()->getItemProduct($product)->getGiftMessageFormData($giftMessage);
         }
     }
     $errors = $this->verifyData($expectedData, $actualData);
     \PHPUnit_Framework_Assert::assertEmpty($errors, $errors);
 }
 /**
  * Assert that status is correct on order page in backend (same with value of orderStatus variable)
  *
  * @param string $status
  * @param string $orderId
  * @param OrderIndex $salesOrder
  * @param SalesOrderView $salesOrderView
  * @param string|null $statusToCheck
  * @return void
  */
 public function processAssert($status, $orderId, OrderIndex $salesOrder, SalesOrderView $salesOrderView, $statusToCheck = null)
 {
     $salesOrder->open();
     $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
     $orderStatus = $statusToCheck == null ? $status : $statusToCheck;
     \PHPUnit_Framework_Assert::assertEquals($salesOrderView->getOrderForm()->getOrderInfoBlock()->getOrderStatus(), $orderStatus);
 }
 /**
  * Assert  that comment about authorized amount exist in Comments History section on order page in backend.
  *
  * @param SalesOrderView $salesOrderView
  * @param OrderIndex $salesOrder
  * @param string $orderId
  * @param array $prices
  * @return void
  */
 public function processAssert(SalesOrderView $salesOrderView, OrderIndex $salesOrder, $orderId, array $prices)
 {
     $salesOrder->open();
     $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
     $actualAuthorizedAmount = $salesOrderView->getOrderHistoryBlock()->getCommentsHistory();
     \PHPUnit_Framework_Assert::assertContains(self::AUTHORIZED_AMOUNT . $prices['grandTotal'], $actualAuthorizedAmount, 'Incorrect authorized amount value for the order #' . $orderId);
 }
 /**
  * Assert that 3D Secure information is  present on order page in Admin.
  *
  * @param SalesOrderView $salesOrderView
  * @param array $paymentInformation
  * @return void
  */
 public function processAssert(SalesOrderView $salesOrderView, array $paymentInformation)
 {
     $actualPaymentInformation = $salesOrderView->getBraintreeInfoBlock()->getPaymentInfo();
     foreach ($paymentInformation as $key => $value) {
         \PHPUnit_Framework_Assert::assertArrayHasKey($key, $actualPaymentInformation, '3D Secure information is not present.');
         \PHPUnit_Framework_Assert::assertEquals($paymentInformation[$key], $value, '3D Secure information is not equal to information from data set.');
     }
 }
Ejemplo n.º 5
0
 /**
  * Fill Sales Data.
  *
  * @return array
  */
 public function run()
 {
     $this->orderCreateIndex->getCreateBlock()->submitOrder();
     $this->salesOrderView->getMessagesBlock()->waitSuccessMessage();
     $orderId = trim($this->salesOrderView->getTitleBlock()->getTitle(), '#');
     $order = $this->fixtureFactory->createByCode('orderInjectable', ['data' => ['id' => $orderId, 'customer_id' => ['customer' => $this->customer], 'entity_id' => ['products' => $this->products], 'billing_address_id' => ['billingAddress' => $this->billingAddress]]]);
     return ['orderId' => $orderId, 'order' => $order];
 }
 /**
  * Assert that comment about captured amount exist in Comments History section on order page in Admin.
  *
  * @param SalesOrderView $salesOrderView
  * @param OrderIndex $salesOrder
  * @param string $orderId
  * @param array $capturedPrices
  * @return void
  */
 public function processAssert(SalesOrderView $salesOrderView, OrderIndex $salesOrder, $orderId, array $capturedPrices)
 {
     $salesOrder->open();
     $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
     $actualCapturedAmount = $salesOrderView->getOrderHistoryBlock()->getCapturedAmount();
     foreach ($capturedPrices as $key => $capturedPrice) {
         \PHPUnit_Framework_Assert::assertContains(self::CAPTURED_AMOUNT . $capturedPrice, $actualCapturedAmount[$key], 'Incorrect captured amount value for the order #' . $orderId);
     }
 }
 /**
  * Put created order on hold.
  *
  * @param OrderInjectable $order
  * @return array
  */
 public function test(OrderInjectable $order)
 {
     // Preconditions
     $order->persist();
     // Steps
     $this->orderIndex->open();
     $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]);
     $this->salesOrderView->getPageActions()->hold();
     return ['customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer()];
 }
 /**
  * Get transaction id from order comments
  * @return mixed
  */
 private function getTransactionId()
 {
     $comments = $this->salesOrderView->getOrderHistoryBlock()->getCommentsHistory();
     $transactionId = null;
     preg_match('/(\\w+-*\\w+)"/', $comments, $matches);
     if (!empty($matches[1])) {
         $transactionId = $matches[1];
     }
     return $transactionId;
 }
 /**
  * Assert that shipment is present in the Shipments tab with correct shipped items quantity
  *
  * @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('shipments');
     $totalQty = $order->getTotalQtyOrdered();
     $totalQty = is_array($totalQty) ? $totalQty : [$totalQty];
     foreach ($ids['shipmentIds'] as $key => $shipmentId) {
         $filter = ['id' => $shipmentId, 'qty_from' => $totalQty[$key], 'qty_to' => $totalQty[$key]];
         \PHPUnit_Framework_Assert::assertTrue($salesOrderView->getOrderForm()->getTabElement('shipments')->getGridBlock()->isRowVisible($filter), 'Shipment is absent on shipments tab.');
     }
 }
 /**
  * Assert that specified in data set buttons exist on order page in backend.
  *
  * @param SalesOrderView $salesOrderView
  * @param string $orderButtonsAvailable
  * @return void
  */
 public function processAssert(SalesOrderView $salesOrderView, $orderButtonsAvailable)
 {
     $buttons = explode(',', $orderButtonsAvailable);
     $absentButtons = [];
     $actionsBlock = $salesOrderView->getPageActions();
     foreach ($buttons as $button) {
         $button = trim($button);
         if (!$actionsBlock->isActionButtonVisible($button)) {
             $absentButtons[] = $button;
         }
     }
     \PHPUnit_Framework_Assert::assertEmpty($absentButtons, "Next buttons was not found on page: \n" . implode(";\n", $absentButtons));
 }
 /**
  * Assert that buttons from dataset are not present on page
  *
  * @param OrderIndex $orderIndex
  * @param SalesOrderView $salesOrderView
  * @param OrderInjectable $order
  * @param string $orderButtonsUnavailable
  * @return void
  */
 public function processAssert(OrderIndex $orderIndex, SalesOrderView $salesOrderView, OrderInjectable $order, $orderButtonsUnavailable)
 {
     $orderIndex->open();
     $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]);
     $buttons = explode(',', $orderButtonsUnavailable);
     $matches = [];
     foreach ($buttons as $button) {
         if ($salesOrderView->getPageActions()->isActionButtonVisible(trim($button))) {
             $matches[] = $button;
         }
     }
     \PHPUnit_Framework_Assert::assertEmpty($matches, 'Buttons are present on order page.' . "\nLog:\n" . implode(";\n", $matches));
 }
 /**
  * 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 that message from dataSet is displayed on order(s) view page on backend.
  *
  * @param GiftMessage $giftMessage
  * @param SalesOrderView $salesOrderView
  * @param OrderIndex $orderIndex
  * @param array $products
  * @param string $orderId
  * @return void
  */
 public function processAssert(GiftMessage $giftMessage, SalesOrderView $salesOrderView, OrderIndex $orderIndex, array $products, $orderId)
 {
     $orderIndex->open()->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
     if ($giftMessage->getAllowGiftMessagesForOrder()) {
         $expectedData[] = $giftMessage->getData();
         $actualData[] = $salesOrderView->getGiftOptionsBlock()->getData($giftMessage);
     }
     if ($giftMessage->getAllowGiftOptionsForItems()) {
         foreach ($products as $key => $product) {
             $expectedData[] = $giftMessage->getItems()[$key]->getData();
             $actualData[] = $salesOrderView->getGiftItemsBlock()->getItemProduct($product)->getGiftMessageFormData($giftMessage);
         }
     }
     $errors = $this->verifyData($expectedData, $actualData);
     \PHPUnit_Framework_Assert::assertEmpty($errors, $errors);
 }
 /**
  * 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.');
     }
 }
 /**
  * Assert that comment about authorized amount exist in Comments History section on order page in Admin.
  *
  * @param SalesOrderView $salesOrderView
  * @param OrderIndex $salesOrder
  * @param string $orderId
  * @param array $transactionDetails
  * @throws \Exception
  */
 public function processAssert(SalesOrderView $salesOrderView, OrderIndex $salesOrder, $orderId, array $transactionDetails)
 {
     $transactionId = '';
     $salesOrder->open();
     $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
     $comment = $salesOrderView->getOrderHistoryBlock()->getCommentsHistory();
     preg_match('/(ID: ")(\\w+-*\\w+)(")/', $comment, $matches);
     if (!empty($matches[2])) {
         $transactionId = $matches[2];
     }
     \PHPUnit_Framework_Assert::assertNotEmpty($transactionId);
     $orderForm = $salesOrderView->getOrderForm()->openTab('transactions');
     /** @var Grid $grid */
     $grid = $orderForm->getTab('transactions')->getGridBlock();
     $actualTxnIds = $grid->getIds();
     \PHPUnit_Framework_Assert::assertEquals($transactionDetails, $actualTxnIds[$transactionId], 'Incorrect transaction details for the order #' . $orderId);
 }
 /**
  * Get order product prices.
  *
  * @param InjectableFixture $product
  * @param array $actualPrices
  * @return array
  */
 public function getOrderPrices($actualPrices, InjectableFixture $product)
 {
     $viewBlock = $this->salesOrderView->getItemsOrderedBlock();
     $actualPrices['cart_item_price_excl_tax'] = $viewBlock->getItemPriceExclTax($product->getName());
     $actualPrices['cart_item_price_incl_tax'] = $viewBlock->getItemPriceInclTax($product->getName());
     $actualPrices['cart_item_subtotal_excl_tax'] = $viewBlock->getItemSubExclTax($product->getName());
     $actualPrices['cart_item_subtotal_incl_tax'] = $viewBlock->getItemSubInclTax($product->getName());
     return $actualPrices;
 }
 /**
  * Sales coupon report
  *
  * @param OrderInjectable $order
  * @param array $viewsReport
  * @return void
  */
 public function test(OrderInjectable $order, array $viewsReport)
 {
     // Precondition
     $order->persist();
     $this->orderIndex->open();
     $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]);
     $this->salesOrderView->getPageActions()->invoice();
     $this->orderInvoiceNew->getTotalsBlock()->submit();
     $this->reportStatistic->open();
     $this->reportStatistic->getGridBlock()->massaction([['report' => 'Coupons']], 'Refresh Statistics for the Last Day', true);
     // Steps
     $this->salesCouponReportView->open();
     $ruleName = $order->getCouponCode()->getName();
     if (isset($viewsReport['rules_list'])) {
         $viewsReport['rules_list'] = str_replace('%rule_name%', $ruleName, $viewsReport['rules_list']);
     }
     $this->salesCouponReportView->getFilterBlock()->viewsReport($viewsReport);
     $this->salesCouponReportView->getActionBlock()->showReport();
 }
 /**
  * Assert that Order Grand Total is correct on order page in backend
  *
  * @param SalesOrderView $salesOrderView
  * @param string $orderId
  * @param OrderIndex $salesOrder
  * @param string $grandTotal
  * @return void
  */
 public function processAssert(SalesOrderView $salesOrderView, OrderIndex $salesOrder, $orderId, $grandTotal)
 {
     $salesOrder->open();
     $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
     \PHPUnit_Framework_Assert::assertEquals($grandTotal, $salesOrderView->getOrderTotalsBlock()->getGrandTotal(), 'Grand Total price does not equal to price from data set.');
 }
 /**
  * Assert that status is correct on order page in backend (same with value of orderStatus variable)
  *
  * @param string $previousOrderStatus
  * @param OrderInjectable $order
  * @param OrderIndex $salesOrder
  * @param SalesOrderView $salesOrderView
  * @return void
  */
 public function processAssert($previousOrderStatus, OrderInjectable $order, OrderIndex $salesOrder, SalesOrderView $salesOrderView)
 {
     $salesOrder->open();
     $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]);
     \PHPUnit_Framework_Assert::assertEquals($previousOrderStatus, $salesOrderView->getOrderForm()->getOrderInfoBlock()->getOrderStatus(), 'Order status is incorrect on order page in backend.');
 }
Ejemplo n.º 20
0
 /**
  * Get shipment ids.
  *
  * @return array
  */
 protected function getShipmentIds()
 {
     $this->salesOrderView->getOrderForm()->openTab('shipments');
     return $this->salesOrderView->getOrderForm()->getTab('shipments')->getGridBlock()->getIds();
 }
 /**
  * Assert that after cancel sales order successful message appears
  *
  * @param SalesOrderView $salesOrderView
  * @return void
  */
 public function processAssert(SalesOrderView $salesOrderView)
 {
     \PHPUnit_Framework_Assert::assertEquals(self::SUCCESS_CANCEL_MESSAGE, $salesOrderView->getMessagesBlock()->getSuccessMessage());
 }
Ejemplo n.º 22
0
 /**
  * Click reorder
  *
  * @return void
  */
 public function run()
 {
     $this->salesOrderView->getPageActions()->reorder();
 }
 /**
  * Assert that 'Unhold' button present on order page
  *
  * @param OrderIndex $orderIndex
  * @param SalesOrderView $salesOrderView
  * @param OrderInjectable $order
  * @return void
  */
 public function processAssert(OrderIndex $orderIndex, SalesOrderView $salesOrderView, OrderInjectable $order)
 {
     $orderIndex->open();
     $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]);
     \PHPUnit_Framework_Assert::assertTrue($salesOrderView->getPageActions()->isActionButtonVisible('Unhold'), 'Button "Unhold" is absent on order page.');
 }
 /**
  * Assert that after create sales order successful message appears
  *
  * @param SalesOrderView $salesOrderView
  * @return void
  */
 public function processAssert(SalesOrderView $salesOrderView)
 {
     \PHPUnit_Framework_Assert::assertEquals(self::SUCCESS_MESSAGE, $salesOrderView->getMessagesBlock()->getSuccessMessage(), 'Wrong success message is displayed.');
 }
Ejemplo n.º 25
0
 /**
  * On hold order on backend.
  *
  * @return void
  */
 public function run()
 {
     $this->orderIndex->open();
     $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]);
     $this->salesOrderView->getPageActions()->hold();
 }
 /**
  * Get credit memo ids.
  *
  * @return array
  */
 protected function getCreditMemoIds()
 {
     $this->salesOrderView->getOrderForm()->openTab('creditmemos');
     return $this->salesOrderView->getOrderForm()->getTab('creditmemos')->getGridBlock()->getIds();
 }
 /**
  * Assert that 'Credit Memo' button is present on order's page
  *
  * @param SalesOrderView $salesOrderView
  * @param OrderIndex $orderIndex
  * @param OrderInjectable $order
  * @return void
  */
 public function processAssert(SalesOrderView $salesOrderView, OrderIndex $orderIndex, OrderInjectable $order)
 {
     $orderIndex->open();
     $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]);
     \PHPUnit_Framework_Assert::assertTrue($salesOrderView->getPageActions()->isActionButtonVisible('CreditMemo'), 'Credit memo button is absent on order view page.');
 }