/** * <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); }
/** * <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); }