Skip to content

Commit 831ab1c

Browse files
committed
Refactoring AdvancedPricingImportExport fixture
1 parent 97f9b00 commit 831ab1c

File tree

2 files changed

+42
-17
lines changed

2 files changed

+42
-17
lines changed

dev/tests/integration/testsuite/Magento/AdvancedPricingImportExport/_files/create_products.php

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,45 @@
44
* See COPYING.txt for license details.
55
*/
66

7-
$productModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
8-
->create(\Magento\Catalog\Model\Product::class);
7+
declare(strict_types=1);
98

10-
$productModel->setTypeId(\Magento\Catalog\Model\Product\Type::TYPE_SIMPLE)
9+
use Magento\Catalog\Api\ProductRepositoryInterface;
10+
use Magento\Catalog\Model\Product;
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\Framework\ObjectManagerInterface;
15+
use Magento\TestFramework\Helper\Bootstrap;
16+
17+
/** @var ObjectManagerInterface $objectManager */
18+
$objectManager = Bootstrap::getObjectManager();
19+
20+
/**
21+
* @var Product $productModel
22+
* @var ProductRepositoryInterface $productRepository
23+
*/
24+
$productModel = $objectManager->create(Product::class);
25+
$productRepository = $objectManager->create(ProductRepositoryInterface::class);
26+
27+
$productModel->setTypeId(Type::TYPE_SIMPLE)
1128
->setAttributeSetId(4)
1229
->setName('AdvancedPricingSimple 1')
1330
->setSku('AdvancedPricingSimple 1')
1431
->setPrice(321)
15-
->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
16-
->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
32+
->setVisibility(Visibility::VISIBILITY_BOTH)
33+
->setStatus(Status::STATUS_ENABLED)
1734
->setWebsiteIds([1])
1835
->setCategoryIds([])
1936
->setStockData(['qty' => 100, 'is_in_stock' => 1, 'manage_stock' => 1])
20-
->setIsObjectNew(true)
21-
->save();
37+
->setIsObjectNew(true);
38+
39+
$productRepository->save($productModel);
2240

2341
$productModel->setName('AdvancedPricingSimple 2')
2442
->setId(null)
25-
->setUrlKey(null)
43+
->setUrlKey('')
2644
->setSku('AdvancedPricingSimple 2')
2745
->setPrice(654)
28-
->setIsObjectNew(true)
29-
->save();
46+
->setIsObjectNew(true);
47+
48+
$productRepository->save($productModel);

dev/tests/integration/testsuite/Magento/AdvancedPricingImportExport/_files/product_with_second_website.php

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
* See COPYING.txt for license details.
55
*/
66

7+
declare(strict_types=1);
8+
9+
use Magento\Catalog\Api\ProductAttributeRepositoryInterface;
710
use Magento\Catalog\Api\ProductRepositoryInterface;
11+
use Magento\Customer\Model\Group;
12+
use Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface;
813
use Magento\TestFramework\Helper\Bootstrap;
914
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
1015
use Magento\Store\Api\WebsiteRepositoryInterface;
@@ -13,15 +18,16 @@
1318
Resolver::getInstance()->requireDataFixture('Magento/AdvancedPricingImportExport/_files/create_products.php');
1419

1520
$objectManager = Bootstrap::getObjectManager();
16-
/** @var \Magento\Catalog\Api\ProductAttributeRepositoryInterface $attributeRepository */
17-
$attributeRepository = $objectManager
18-
->get(Magento\Catalog\Api\ProductAttributeRepositoryInterface::class);
19-
$groupPriceAttribute = $attributeRepository->get('tier_price')
20-
->setScope(Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_WEBSITE);
21+
22+
/** @var ProductAttributeRepositoryInterface $attributeRepository */
23+
$attributeRepository = $objectManager->get(ProductAttributeRepositoryInterface::class);
24+
$groupPriceAttribute = $attributeRepository->get('tier_price')->setScope(ScopedAttributeInterface::SCOPE_WEBSITE);
2125
$attributeRepository->save($groupPriceAttribute);
26+
2227
/** @var WebsiteRepositoryInterface $websiteRepository */
2328
$websiteRepository = $objectManager->get(WebsiteRepositoryInterface::class);
2429
$website = $websiteRepository->get('test');
30+
2531
/** @var ProductRepositoryInterface $productRepository */
2632
$productRepository = $objectManager->create(ProductRepositoryInterface::class);
2733
$productModel = $productRepository->get('AdvancedPricingSimple 2');
@@ -30,10 +36,10 @@
3036
[
3137
[
3238
'website_id' => $website->getId(),
33-
'cust_group' => \Magento\Customer\Model\Group::CUST_GROUP_ALL,
39+
'cust_group' => Group::CUST_GROUP_ALL,
3440
'price_qty' => 3,
3541
'price' => 5
3642
]
3743
]
3844
);
39-
$productModel->save();
45+
$productRepository->save($productModel);

0 commit comments

Comments
 (0)