quote.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. \Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea(
  7. \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE
  8. );
  9. /** @var $product \Magento\Catalog\Model\Product */
  10. $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Catalog\Model\Product::class);
  11. $product->setTypeId(
  12. 'virtual'
  13. )->setId(
  14. 1
  15. )->setAttributeSetId(
  16. 4
  17. )->setName(
  18. 'Simple Product'
  19. )->setSku(
  20. 'simple'
  21. )->setPrice(
  22. 10
  23. )->setStoreId(
  24. 1
  25. )->setStockData(
  26. ['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 100]
  27. )->setVisibility(
  28. \Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH
  29. )->setStatus(
  30. \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED
  31. )->save();
  32. $product->load(1);
  33. /** @var $quote \Magento\Quote\Model\Quote */
  34. $quote = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Quote\Model\Quote::class);
  35. $quoteItem = $quote->setCustomerId(
  36. 1
  37. )->setStoreId(
  38. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  39. \Magento\Store\Model\StoreManagerInterface::class
  40. )->getStore()->getId()
  41. )->setReservedOrderId(
  42. 'test01'
  43. )->addProduct(
  44. $product,
  45. 10
  46. );
  47. /** @var $quoteItem \Magento\Quote\Model\Quote\Item */
  48. $quoteItem->setQty(1);
  49. $quote->getPayment()->setMethod('checkmo');
  50. $quote->getBillingAddress();
  51. $quote->getShippingAddress()->setCollectShippingRates(true);
  52. $quote->collectTotals();
  53. $quote->save();
  54. $quoteItem->setQuote($quote);
  55. $quoteItem->save();