Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
order_item_with_configurable_and_options.php
Go to the documentation of this file.
1 <?php
7 require 'product_configurable.php';
8 
10 
11 $addressData = include __DIR__ . '/../../../Magento/Sales/_files/address_data.php';
12 
13 $billingAddress = $objectManager->create(\Magento\Sales\Model\Order\Address::class, ['data' => $addressData]);
14 $billingAddress->setAddressType('billing');
15 
17 $shippingAddress->setId(null)->setAddressType('shipping');
18 
19 $payment = $objectManager->create(\Magento\Sales\Model\Order\Payment::class);
20 $payment->setMethod('checkmo');
21 
23 $product = $objectManager->create(\Magento\Catalog\Model\Product::class);
24 $product->load(1);
25 
28 $attribute = $eavConfig->getAttribute('catalog_product', 'test_configurable');
29 
31 $options = $objectManager->create(\Magento\Eav\Model\ResourceModel\Entity\Attribute\Option\Collection::class);
32 $option = $options->setAttributeFilter($attribute->getId())
33  ->getFirstItem();
34 
36  'qty' => 1,
37  'super_attribute' => [
38  $attribute->getId() => $option->getId(),
39  ],
40 ];
42 $order = $objectManager->create(\Magento\Sales\Model\Order::class);
43 $order->setIncrementId('100000001');
44 $order->loadByIncrementId('100000001');
45 if ($order->getId()) {
46  $order->delete();
47 }
49 $orderItem = $objectManager->create(\Magento\Sales\Model\Order\Item::class);
50 $orderItem->setProductId($product->getId());
51 $orderItem->setQtyOrdered(1);
52 $orderItem->setBasePrice($product->getPrice());
53 $orderItem->setPrice($product->getPrice());
54 $orderItem->setRowTotal($product->getPrice());
55 $orderItem->setProductType($product->getTypeId());
56 $orderItem->setProductOptions(['info_buyRequest' => $requestInfo]);
57 
59 $order = $objectManager->create(\Magento\Sales\Model\Order::class);
60 $order->setIncrementId('100000001');
61 $order->setState(\Magento\Sales\Model\Order::STATE_NEW);
62 $order->setStatus($order->getConfig()->getStateDefaultStatus(\Magento\Sales\Model\Order::STATE_NEW));
63 $order->setCustomerIsGuest(true);
64 $order->setCustomerEmail('[email protected]');
65 $order->setCustomerFirstname('firstname');
66 $order->setCustomerLastname('lastname');
67 $order->setBillingAddress($billingAddress);
68 $order->setShippingAddress($shippingAddress);
69 $order->setAddresses([$billingAddress, $shippingAddress]);
70 $order->setPayment($payment);
71 $order->addItem($orderItem);
72 $order->setStoreId($objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)->getStore()->getId());
73 $order->setSubtotal(100);
74 $order->setBaseSubtotal(100);
75 $order->setBaseGrandTotal(100);
76 $order->save();
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60