1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- declare(strict_types=1);
- use Magento\Quote\Api\CartManagementInterface;
- use Magento\Quote\Api\CartRepositoryInterface;
- use Magento\Quote\Api\Data\AddressInterface;
- use Magento\Quote\Api\Data\CartInterface;
- use Magento\TestFramework\Helper\Bootstrap;
- use Magento\Quote\Api\Data\AddressInterfaceFactory;
- /** @var CartManagementInterface $cartManagement */
- $cartManagement = Bootstrap::getObjectManager()->get(CartManagementInterface::class);
- /** @var CartRepositoryInterface $cartRepository */
- $cartRepository = Bootstrap::getObjectManager()->get(CartRepositoryInterface::class);
- /** @var AddressInterfaceFactory $addressFactory */
- $addressFactory = Bootstrap::getObjectManager()->get(AddressInterfaceFactory::class);
- $cartId = $cartManagement->createEmptyCart();
- /** @var CartInterface $cart */
- $cart = $cartRepository->get($cartId);
- $cart->setCustomerEmail('admin@example.com');
- $cart->setCustomerIsGuest(true);
- /** @var AddressInterface $address */
- $address = $addressFactory->create(
- [
- 'data' => [
- AddressInterface::KEY_COUNTRY_ID => 'US',
- AddressInterface::KEY_REGION_ID => 15,
- AddressInterface::KEY_LASTNAME => 'Doe',
- AddressInterface::KEY_FIRSTNAME => 'John',
- AddressInterface::KEY_STREET => 'example street',
- AddressInterface::KEY_EMAIL => 'customer@example.com',
- AddressInterface::KEY_CITY => 'example city',
- AddressInterface::KEY_TELEPHONE => '000 0000',
- AddressInterface::KEY_POSTCODE => 12345
- ]
- ]
- );
- $cart->setReservedOrderId('test_order_1');
- $cart->setBillingAddress($address);
- $cart->setShippingAddress($address);
- $cart->getPayment()->setMethod('checkmo');
- $cart->getShippingAddress()->setShippingMethod('flatrate_flatrate');
- $cart->getShippingAddress()->setCollectShippingRates(true);
- $cart->getShippingAddress()->collectShippingRates();
- $cartRepository->save($cart);
|