![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/integration/testsuite/Magento/Checkout/_files/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ use Magento\TestFramework\Workaround\Override\Fixture\Resolver; Resolver::getInstance()->requireDataFixture('Magento/Checkout/_files/simple_product.php'); /** @var $bundleProduct \Magento\Catalog\Model\Product */ $bundleProduct = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Catalog\Model\Product::class ); $bundleProduct->setTypeId( \Magento\Catalog\Model\Product\Type::TYPE_BUNDLE )->setId( 3 )->setAttributeSetId( 4 )->setWebsiteIds( [1] )->setName( 'Bundle Product' )->setSku( 'bundle-product' )->setDescription( 'Description with <b>html tag</b>' )->setShortDescription( 'Bundle' )->setVisibility( \Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH )->setStatus( \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED )->setStockData( [ 'use_config_manage_stock' => 0, 'manage_stock' => 0, 'use_config_enable_qty_increments' => 1, 'use_config_qty_increments' => 1, 'is_in_stock' => 0, ] )->setBundleOptionsData( [ [ 'title' => 'Bundle Product Items', 'default_title' => 'Bundle Product Items', 'type' => 'select', 'required' => 1, 'delete' => '', 'position' => 0, 'option_id' => '', ], ] )->setBundleSelectionsData( [ [ [ 'product_id' => 1, // fixture product 'selection_qty' => 1, 'selection_can_change_qty' => 1, 'delete' => '', 'position' => 0, 'selection_price_type' => 0, 'selection_price_value' => 0.0, 'option_id' => '', 'selection_id' => '', 'is_default' => 1, ], ], ] )->setCanSaveBundleSelections( true )->setAffectBundleProductSelections( true )->save(); /** @var $product \Magento\Catalog\Model\Product */ $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Catalog\Model\Product::class); $product->load($bundleProduct->getId()); /** @var $typeInstance \Magento\Bundle\Model\Product\Type */ //Load options $typeInstance = $product->getTypeInstance(); $typeInstance->setStoreFilter($product->getStoreId(), $product); $optionCollection = $typeInstance->getOptionsCollection($product); $selectionCollection = $typeInstance->getSelectionsCollection($typeInstance->getOptionsIds($product), $product); $bundleOptions = []; $bundleOptionsQty = []; /** @var $option \Magento\Bundle\Model\Option */ foreach ($optionCollection as $option) { /** @var $selection \Magento\Bundle\Model\Selection */ $selection = $selectionCollection->getFirstItem(); $bundleOptions[$option->getId()] = $selection->getSelectionId(); $bundleOptionsQty[$option->getId()] = 1; } $requestInfo = new \Magento\Framework\DataObject( ['qty' => 1, 'bundle_option' => $bundleOptions, 'bundle_option_qty' => $bundleOptionsQty] ); $product->setSkipCheckRequiredOption(true); Resolver::getInstance()->requireDataFixture('Magento/Checkout/_files/cart.php');