![]() 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/GroupedProduct/_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/Catalog/_files/product_associated.php'); Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/product_virtual_in_stock.php'); $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); /** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */ $productRepository = $objectManager->get(\Magento\Catalog\Api\ProductRepositoryInterface::class); /** @var $product \Magento\Catalog\Model\Product */ $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Catalog\Model\Product::class); $product->isObjectNew(true); $product->setTypeId( \Magento\GroupedProduct\Model\Product\Type\Grouped::TYPE_CODE )->setAttributeSetId( 4 )->setWebsiteIds( [1] )->setName( 'Grouped Product' )->setSku( 'grouped-product' )->setPrice( 100 )->setTaxClassId( 0 )->setVisibility( \Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH )->setStatus( \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED ); $newLinks = []; $productLinkFactory = $objectManager->get(\Magento\Catalog\Api\Data\ProductLinkInterfaceFactory::class); /** @var \Magento\Catalog\Api\Data\ProductLinkInterface $productLink */ $productLink = $productLinkFactory->create(); $linkedProduct = $productRepository->getById(1); $productLink->setSku($product->getSku()) ->setLinkType('associated') ->setLinkedProductSku($linkedProduct->getSku()) ->setLinkedProductType($linkedProduct->getTypeId()) ->setPosition(1) ->getExtensionAttributes() ->setQty(1); $newLinks[] = $productLink; /** @var \Magento\Catalog\Api\Data\ProductLinkInterface $productLink */ $productLink = $productLinkFactory->create(); $linkedProduct = $productRepository->getById(21); $productLink->setSku($product->getSku()) ->setLinkType('associated') ->setLinkedProductSku($linkedProduct->getSku()) ->setLinkedProductType($linkedProduct->getTypeId()) ->setPosition(2) ->getExtensionAttributes() ->setQty(2); $newLinks[] = $productLink; $product->setProductLinks($newLinks); $product->setStockData(['use_config_manage_stock' => 1, 'is_in_stock' => 1]); $productRepository->save($product); /** @var \Magento\Catalog\Api\CategoryLinkManagementInterface $categoryLinkManagement */ $categoryLinkManagement = \Magento\TestFramework\Helper\Bootstrap::getObjectManager() ->create(\Magento\Catalog\Api\CategoryLinkManagementInterface::class); $categoryLinkManagement->assignProductToCategories( $product->getSku(), [2] );