73 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
 | 
						|
\Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea('frontend');
 | 
						|
 | 
						|
$storeManager = Magento\TestFramework\Helper\Bootstrap::getObjectManager()
 | 
						|
    ->get(\Magento\Store\Model\StoreManagerInterface::class);
 | 
						|
$product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Catalog\Model\Product::class);
 | 
						|
$product->setTypeId('simple')
 | 
						|
    ->setId(1)
 | 
						|
    ->setAttributeSetId(4)
 | 
						|
    ->setName('Simple Product')
 | 
						|
    ->setSku('simple')
 | 
						|
    ->setPrice(10)
 | 
						|
    ->setTaxClassId(0)
 | 
						|
    ->setMetaTitle('meta title')
 | 
						|
    ->setMetaKeyword('meta keyword')
 | 
						|
    ->setMetaDescription('meta description')
 | 
						|
    ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
 | 
						|
    ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
 | 
						|
    ->setStockData(
 | 
						|
        [
 | 
						|
            'qty' => 100,
 | 
						|
            'is_in_stock' => 1,
 | 
						|
            'manage_stock' => 1,
 | 
						|
        ]
 | 
						|
    )
 | 
						|
    ->setWebsiteIds([$storeManager->getStore()->getWebsiteId()])
 | 
						|
    ->save();
 | 
						|
 | 
						|
$productRepository = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
 | 
						|
    ->create(\Magento\Catalog\Api\ProductRepositoryInterface::class);
 | 
						|
$product = $productRepository->get('simple');
 | 
						|
 | 
						|
$addressData = include __DIR__ . '/address_data.php';
 | 
						|
$billingAddress = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
 | 
						|
    \Magento\Quote\Model\Quote\Address::class,
 | 
						|
    ['data' => $addressData]
 | 
						|
);
 | 
						|
$billingAddress->setAddressType('billing');
 | 
						|
 | 
						|
$shippingAddress = clone $billingAddress;
 | 
						|
$shippingAddress->setId(null)->setAddressType('shipping');
 | 
						|
 | 
						|
$store = $storeManager->getStore();
 | 
						|
 | 
						|
/** @var \Magento\Quote\Model\Quote $quote */
 | 
						|
$quote = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Quote\Model\Quote::class);
 | 
						|
$quote->setCustomerIsGuest(true)
 | 
						|
    ->setStoreId($store->getId())
 | 
						|
    ->setReservedOrderId('test01')
 | 
						|
    ->setBillingAddress($billingAddress)
 | 
						|
    ->setShippingAddress($shippingAddress)
 | 
						|
    ->addProduct($product);
 | 
						|
$quote->getPayment()->setMethod('checkmo');
 | 
						|
$quote->setIsMultiShipping('1');
 | 
						|
$quote->collectTotals();
 | 
						|
 | 
						|
$quoteRepository = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
 | 
						|
    ->get(\Magento\Quote\Api\CartRepositoryInterface::class);
 | 
						|
$quoteRepository->save($quote);
 | 
						|
 | 
						|
/** @var \Magento\Quote\Model\QuoteIdMask $quoteIdMask */
 | 
						|
$quoteIdMask = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
 | 
						|
    ->create(\Magento\Quote\Model\QuoteIdMaskFactory::class)
 | 
						|
    ->create();
 | 
						|
$quoteIdMask->setQuoteId($quote->getId());
 | 
						|
$quoteIdMask->setDataChanges(true);
 | 
						|
$quoteIdMask->save();
 |