|
6 | 6 | declare(strict_types=1);
|
7 | 7 |
|
8 | 8 | use Magento\Catalog\Api\Data\ProductAttributeMediaGalleryEntryInterface;
|
| 9 | +use Magento\Catalog\Api\Data\ProductInterfaceFactory; |
9 | 10 | use Magento\Catalog\Api\ProductRepositoryInterface;
|
| 11 | +use Magento\Catalog\Model\Product\Attribute\Source\Status; |
| 12 | +use Magento\Catalog\Model\Product\Type; |
| 13 | +use Magento\Catalog\Model\Product\Visibility; |
| 14 | +use Magento\Catalog\Model\ResourceModel\Product as ProductResource; |
| 15 | +use Magento\Store\Api\WebsiteRepositoryInterface; |
10 | 16 | use Magento\Store\Model\Store;
|
11 | 17 | use Magento\TestFramework\Helper\Bootstrap;
|
12 | 18 | use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
|
13 | 19 |
|
14 | 20 | Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/product_image.php');
|
15 |
| -Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/product_simple.php'); |
16 | 21 |
|
17 | 22 | $objectManager = Bootstrap::getObjectManager();
|
| 23 | +/** @var ProductResource $productResource */ |
| 24 | +$productResource = $objectManager->get(ProductResource::class); |
| 25 | +/** @var ProductInterfaceFactory $productFactory */ |
| 26 | +$productFactory = $objectManager->get(ProductInterfaceFactory::class); |
| 27 | +/** @var WebsiteRepositoryInterface $websiteRepository */ |
| 28 | +$websiteRepository = $objectManager->get(WebsiteRepositoryInterface::class); |
| 29 | +$baseWebsiteId = (int)$websiteRepository->get('base')->getId(); |
| 30 | +$product = $productFactory->create(); |
18 | 31 | /** @var ProductRepositoryInterface $productRepository */
|
19 |
| -$productRepository = $objectManager->get(ProductRepositoryInterface::class); |
20 |
| -$productRepository->cleanCache(); |
21 |
| -$product = $productRepository->get('simple'); |
22 |
| -$product->setStoreId(Store::DEFAULT_STORE_ID) |
| 32 | +$product->setTypeId(Type::TYPE_SIMPLE) |
| 33 | + ->setAttributeSetId($product->getDefaultAttributeSetId()) |
| 34 | + ->setWebsiteIds([$baseWebsiteId]) |
| 35 | + ->setName('Simple Product2') |
| 36 | + ->setSku('simple_with_disabled_img') |
| 37 | + ->setPrice(10) |
| 38 | + ->setMetaTitle('meta title2') |
| 39 | + ->setMetaKeyword('meta keyword2') |
| 40 | + ->setMetaDescription('meta description2') |
| 41 | + ->setVisibility(Visibility::VISIBILITY_BOTH) |
| 42 | + ->setStatus(Status::STATUS_ENABLED) |
| 43 | + ->setStockData(['use_config_manage_stock' => 0]) |
| 44 | + ->setStoreId(Store::DEFAULT_STORE_ID) |
23 | 45 | ->setImage('/m/a/magento_image.jpg')
|
24 | 46 | ->setSmallImage('/m/a/magento_image.jpg')
|
25 | 47 | ->setThumbnail('/m/a/magento_image.jpg')
|
|
39 | 61 | )
|
40 | 62 | ->setCanSaveCustomOptions(true);
|
41 | 63 |
|
42 |
| -$productRepository->save($product); |
| 64 | +$productResource->save($product); |
0 commit comments