示例#1
0
 /**
  * @inheritdoc
  */
 public function getDataForOrderCreate(\Magento\Sales\Model\Order $order)
 {
     $data = ['products' => $this->dataGetter->getProductsData($order)];
     $shippingData = $this->dataGetter->getShippingData($order);
     if ($shippingData) {
         $data['products'][] = $shippingData;
     }
     $buyerData = $this->dataGetter->getBuyerData($order);
     if ($buyerData) {
         $data['buyer'] = $buyerData;
     }
     $basicData = $this->dataGetter->getBasicData($order);
     return array_merge($basicData, $data);
 }
 public function testGetProductsData()
 {
     $name = 'Example';
     $price = '5.4900';
     $quantity = '1.5';
     $order = $this->getMockBuilder(\Magento\Sales\Model\Order::class)->disableOriginalConstructor()->getMock();
     $orderItem = $this->getMockBuilder(\Magento\Sales\Api\Data\OrderItemInterface::class)->getMockForAbstractClass();
     $orderItem->expects($this->once())->method('getName')->willReturn($name);
     $orderItem->expects($this->once())->method('getPriceInclTax')->willReturn($price);
     $orderItem->expects($this->once())->method('getQtyOrdered')->willReturn($quantity);
     $orderItems = [$orderItem];
     $order->expects($this->once())->method('getAllVisibleItems')->willReturn($orderItems);
     $productsData = $this->model->getProductsData($order);
     $this->assertEquals([['name' => $name, 'unitPrice' => $price * 100, 'quantity' => $quantity]], $productsData);
     $this->assertInternalType('float', $productsData[0]['quantity']);
 }