37 protected function prepareOrder()
40 $orderFactory = $this->objectManager->get(\
Magento\Sales\Model\OrderFactory::class);
42 $orderItemFactory = $this->objectManager->get(\
Magento\Sales\Model\
Order\ItemFactory::class);
44 $orderPaymentFactory = $this->objectManager->get(\
Magento\Sales\Model\
Order\PaymentFactory::class);
46 $orderAddressRepository = $this->objectManager->get(\
Magento\Sales\Model\
Order\AddressRepository::class);
50 $order = $orderFactory->create(
56 $orderPayment = $orderPaymentFactory->create(
62 if (TESTS_WEB_API_ADAPTER == self::ADAPTER_SOAP) {
66 $orderItem->setData(
'parent_item', [
'weight' => 1]);
69 $orderPayment->setCcLast4(
'4444');
70 $orderPayment->setMethod(
'checkmo');
71 $orderPayment->setAccountStatus(
'ok');
72 $orderPayment->setAdditionalInformation([]);
74 $order->setBaseGrandTotal(100);
75 $order->setGrandTotal(100);
76 $order->setShippingDescription(
'Flat Rate - Fixed');
79 $order->setBaseDiscountAmount(0);
80 $order->setBaseShippingAmount(5);
81 $order->setBaseShippingTaxAmount(0);
82 $order->setBaseSubtotal(100);
83 $order->setBaseTaxAmount(0);
84 $order->setBaseToGlobalRate(1);
85 $order->setBaseToOrderRate(1);
86 $order->setDiscountAmount(0);
87 $order->setShippingAmount(0);
88 $order->setShippingTaxAmount(0);
89 $order->setStoreToOrderRate(0);
90 $order->setBaseToOrderRate(0);
93 $order->setTotalQtyOrdered(1);
94 $order->setCustomerIsGuest(1);
95 $order->setCustomerNoteNotify(0);
96 $order->setCustomerGroupId(0);
97 $order->setBaseSubtotalInclTax(100);
99 $order->setBaseCurrencyCode(
'USD');
100 $order->setShippingInclTax(5);
101 $order->setBaseShippingInclTax(5);
106 $order->setData(
'payment', $orderPayment->getData());
108 $orderAddressBilling = $orderAddressRepository->create();
110 $orderAddressBilling->setCity(
'City');
111 $orderAddressBilling->setPostcode(
'12345');
112 $orderAddressBilling->setLastname(
'Last Name');
113 $orderAddressBilling->setFirstname(
'First Name');
114 $orderAddressBilling->setTelephone(
'+00(000)-123-45-57');
115 $orderAddressBilling->setStreet([
'Street']);
116 $orderAddressBilling->setCountryId(
'US');
117 $orderAddressBilling->setRegion(
'California');
118 $orderAddressBilling->setAddressType(
'billing');
119 $orderAddressBilling->setRegionId(12);
121 $orderAddressShipping = $orderAddressRepository->create();
122 $orderAddressShipping->setCity(
'City2');
123 $orderAddressShipping->setPostcode(
'12345');
124 $orderAddressShipping->setLastname(
'Last Name2');
125 $orderAddressShipping->setFirstname(
'First Name2');
126 $orderAddressShipping->setTelephone(
'+00(000)-123-45-57');
127 $orderAddressShipping->setStreet([
'Street']);
128 $orderAddressShipping->setCountryId(
'US');
129 $orderAddressShipping->setRegion(
'California');
130 $orderAddressShipping->setAddressType(
'shipping');
131 $orderAddressShipping->setRegionId(12);
133 $orderData =
$order->getData();
134 $orderData[
'billing_address'] = $orderAddressBilling->getData();
135 $orderData[
'billing_address'][
'street'] = [
'Street'];
136 $address = $orderAddressShipping->getData();
138 $orderData[
'extension_attributes'][
'shipping_assignments'] =
143 'method' =>
'flatrate_flatrate' 155 $constants = $refClass->getConstants();
156 $data = array_fill_keys($constants,
null);
157 unset(
$data[
'custom_attributes']);
165 protected function addProductOption(
$orderItem)
173 'option_id' =>
$option->getId(),
192 $returnValue =
'Test value';
195 $returnValue =
'2015-09-09 07:16:00';
198 $returnValue =
'3-1-select';
201 $returnValue =
'4-1-radio';
210 public function testOrderCreate()
212 $order = $this->prepareOrder();
222 'operation' => self::SERVICE_READ_NAME .
'save',
228 $model = $this->objectManager->get(\
Magento\Sales\Model\Order::class);
229 $model->load(
$order[
'customer_email'],
'customer_email');
230 $this->assertTrue((
bool)
$model->getId());
231 $this->assertEquals(
$order[
'base_grand_total'],
$model->getBaseGrandTotal());
232 $this->assertEquals(
$order[
'grand_total'],
$model->getGrandTotal());
233 $this->assertNotNull(
$model->getShippingAddress());
234 $this->assertTrue((
bool)
$model->getShippingAddress()->getId());
235 $this->assertEquals(
'Flat Rate - Fixed',
$model->getShippingDescription());
getDataStructure($className)
_webApiCall( $serviceInfo, $arguments=[], $webApiAdapterCode=null, $storeCode=null, $integration=null)
getOptionRequestValue(ProductCustomOptionInterface $option)
static getObjectManager()