Example #1
0
 /**
  * <p>Ship Order Without Tracking.</p>
  * <p>Preconditions:</p>
  * <p>1.Order is created.</p>
  * <p>2.The order is open in admin
  * <p>Steps:</p>
  * <p>1. Click 'Ship' button.</p>
  * <p>2. Fill products and quantity to ship.</p>
  * <p>3. Fill tracking information.</p>
  * <p>4. Click 'Sumbit Shipment' button.</p>
  * <p>Expected result:</p>
  * <p>OrderShipped message is sent out.</p>
  *
  * @test
  */
 public function shipFullOrderWithTracking()
 {
     //Data
     $product1 = self::$_preconditionsData->getProduct1();
     $sku1 = $product1['general_sku'];
     $product2 = self::$_preconditionsData->getProduct2();
     $sku2 = $product2['general_sku'];
     $shipQty = self::FULL_ORDER_QTY;
     $shipment = $this->loadDataSet('SalesOrder', 'products_to_ship', array('ship_product_sku' => $sku1, 'ship_product_qty' => $shipQty, 'product_2' => array('ship_product_sku' => $sku2, 'ship_product_qty' => $shipQty)));
     $trackingData = array('carrier' => self::TRACKING_CARRIER, 'number' => self::TRACKING_NUMBER);
     //Steps createShipmentAndAddTracking()
     $this->_createShipmentAndAddTracking($trackingData, $shipment);
     //Verify
     $expectedMsgs = array(array("topic" => OrderManagement::ORDER_SHIPPED, 'message.orderNumber' => self::$_preconditionsData->getOrderId(), 'message.shipment.shipmentId' => '!\\d+!', 'message.shipment.shippingFees.amount' => '0', 'message.shipment.trackingDetails.array.0.trackingNumbers.array.0' => self::TRACKING_NUMBER, 'message.shipment.trackingDetails.array.0.carrier.string' => self::TRACKING_CARRIER, 'message.shipment.trackingDetails.array.0.service' => null, 'message.shipment.trackingDetails.array.0.serviceType.com.x.ordermanagement.v2.ShippingServiceType' => 'MERCHANT_SHIPPED', 'message.shipment.shippingMethod.string' => 'Flat Rate - Fixed', 'message.sourceId' => 'Magento', 'message.referralSource' => null, 'message.orderLines.array.0.orderNumber.string' => self::$_preconditionsData->getOrderId(), 'message.orderLines.array.0.quantity' => $shipQty, 'message.orderLines.array.0.productSku' => $sku1, 'message.orderLines.array.0.status' => 'SHIPPED', 'message.orderLines.array.1.orderNumber.string' => self::$_preconditionsData->getOrderId(), 'message.orderLines.array.1.quantity' => $shipQty, 'message.orderLines.array.1.productSku' => $sku2, 'message.orderLines.array.1.status' => 'SHIPPED'));
     $msgs = $this->_get2dXMessages();
     $this->verifyXMessage($expectedMsgs, $msgs);
 }
Example #2
0
 /**
  * <p>Credit Memo Full Order Return To Stock.</p>
  * <p>Preconditions:</p>
  * <p>1.Order is created.</p>
  * <p>2.Invoice is created
  * <p>3.The invoice of the order is open in admin
  * <p>Steps:</p>
  * <p>1. Click 'Credit Memo' button.</p>
  * <p>2. Fill product and quantity to credit for.</p>
  * <p>3. Click 'Refund Offline' button.</p>
  * <p>Expected result:</p>
  * <p>Order Update message is sent out.</p>
  * <p>Stock Item Updated message is send out.</p>
  *
  * @test
  *
  */
 public function creditMemoFullOrderReturnToStock()
 {
     //Data
     $product1 = self::$_preconditionsData->getProduct1();
     $sku1 = $product1['general_sku'];
     $qty1 = self::FULL_ORDER_QTY;
     $product2 = self::$_preconditionsData->getProduct2();
     $sku2 = $product2['general_sku'];
     $qty2 = self::FULL_ORDER_QTY;
     $orderId = self::$_preconditionsData->getOrderId();
     $creditMemoData = array('product_1' => array('return_filter_sku' => $sku1, 'return_to_stock' => ReturnToStock::YES, 'qty_to_refund' => $qty1), 'product_2' => array('return_filter_sku' => $sku2, 'return_to_stock' => ReturnToStock::NO, 'qty_to_refund' => $qty2));
     //Steps
     $this->_refundOffline($creditMemoData);
     //Verify
     $expectedMsgs = array(array("topic" => OrderManagement::ORDER_RETURN, 'message.orderNumber' => $orderId), array("topic" => Inventory::STOCK_ITEM_UPDATED, 'message.stockItems.0.sku' => $sku1, 'message.stockItems.0.quantity' => $product1['inventory_qty']));
     $msgs = $this->_get2dXMessages();
     $this->verifyXMessage($expectedMsgs, $msgs);
 }