Skip to content

Commit 49a8b34

Browse files
committed
#27500 Migrate PHPUnit tests for CatalogImportExport module
1 parent c07b96d commit 49a8b34

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+579
-409
lines changed

app/code/Magento/CatalogImportExport/Test/Unit/Model/Export/ProductTest.php

Lines changed: 57 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,138 +1,156 @@
1-
<?php
1+
<?php declare(strict_types=1);
22
/**
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
66
namespace Magento\CatalogImportExport\Test\Unit\Model\Export;
77

8+
use Magento\Catalog\Model\Product\LinkTypeProvider;
9+
use Magento\CatalogImportExport\Model\Export\Product;
10+
use Magento\CatalogImportExport\Model\Export\Product\Type\Factory;
11+
use Magento\CatalogImportExport\Model\Export\RowCustomizer\Composite;
12+
use Magento\Eav\Model\Config;
13+
use Magento\Eav\Model\Entity\Collection\AbstractCollection;
14+
use Magento\Eav\Model\Entity\Type;
15+
use Magento\Framework\App\ResourceConnection;
16+
use Magento\Framework\EntityManager\MetadataPool;
17+
use Magento\Framework\Logger\Monolog;
18+
use Magento\Framework\Stdlib\DateTime\Timezone;
19+
use Magento\ImportExport\Model\Export\Adapter\AbstractAdapter;
20+
use Magento\ImportExport\Model\Export\ConfigInterface;
821
use Magento\Store\Model\Store;
22+
use Magento\Store\Model\StoreManager;
23+
use Magento\Store\Model\StoreManagerInterface;
24+
use PHPUnit\Framework\MockObject\MockObject;
25+
use PHPUnit\Framework\TestCase;
26+
use Psr\Log\LoggerInterface;
927

1028
/**
1129
* @SuppressWarnings(PHPMD)
1230
*/
13-
class ProductTest extends \PHPUnit\Framework\TestCase
31+
class ProductTest extends TestCase
1432
{
1533
/**
16-
* @var \Magento\Framework\Stdlib\DateTime\Timezone|\PHPUnit_Framework_MockObject_MockObject
34+
* @var Timezone|MockObject
1735
*/
1836
protected $localeDate;
1937

2038
/**
21-
* @var \Magento\Eav\Model\Config|\PHPUnit_Framework_MockObject_MockObject
39+
* @var Config|MockObject
2240
*/
2341
protected $config;
2442

2543
/**
26-
* @var \Magento\Framework\App\ResourceConnection|\PHPUnit_Framework_MockObject_MockObject
44+
* @var ResourceConnection|MockObject
2745
*/
2846
protected $resource;
2947

3048
/**
31-
* @var \Magento\Store\Model\StoreManagerInterface|\PHPUnit_Framework_MockObject_MockObject
49+
* @var StoreManagerInterface|MockObject
3250
*/
3351
protected $storeManager;
3452

3553
/**
36-
* @var \Psr\Log\LoggerInterface|\PHPUnit_Framework_MockObject_MockObject
54+
* @var LoggerInterface|MockObject
3755
*/
3856
protected $logger;
3957

4058
/**
41-
* @var \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory|\PHPUnit_Framework_MockObject_MockObject
59+
* @var \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory|MockObject
4260
*/
4361
protected $collection;
4462

4563
/**
46-
* @var \Magento\Eav\Model\Entity\Collection\AbstractCollection|\PHPUnit_Framework_MockObject_MockObject
64+
* @var AbstractCollection|MockObject
4765
*/
4866
protected $abstractCollection;
4967

5068
/**
51-
* @var \Magento\ImportExport\Model\Export\ConfigInterface|\PHPUnit_Framework_MockObject_MockObject
69+
* @var ConfigInterface|MockObject
5270
*/
5371
protected $exportConfig;
5472

5573
/**
56-
* @var \Magento\Catalog\Model\ResourceModel\ProductFactory|\PHPUnit_Framework_MockObject_MockObject
74+
* @var \Magento\Catalog\Model\ResourceModel\ProductFactory|MockObject
5775
*/
5876
protected $productFactory;
5977

6078
/**
61-
* @var \PHPUnit_Framework_MockObject_MockObject
79+
* @var MockObject
6280
*/
6381
protected $attrSetColFactory;
6482

6583
/**
66-
* @var \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory|\PHPUnit_Framework_MockObject_MockObject
84+
* @var \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory|MockObject
6785
*/
6886
protected $categoryColFactory;
6987

7088
/**
71-
* @var \Magento\CatalogInventory\Model\ResourceModel\Stock\ItemFactory|\PHPUnit_Framework_MockObject_MockObject
89+
* @var \Magento\CatalogInventory\Model\ResourceModel\Stock\ItemFactory|MockObject
7290
*/
7391
protected $itemFactory;
7492

7593
/**
76-
* @var \PHPUnit_Framework_MockObject_MockObject
94+
* @var MockObject
7795
*/
7896
protected $optionColFactory;
7997

8098
/**
81-
* @var \PHPUnit_Framework_MockObject_MockObject
99+
* @var MockObject
82100
*/
83101
protected $attributeColFactory;
84102

85103
/**
86-
* @var \Magento\CatalogImportExport\Model\Export\Product\Type\Factory|\PHPUnit_Framework_MockObject_MockObject
104+
* @var Factory|MockObject
87105
*/
88106
protected $typeFactory;
89107

90108
/**
91-
* @var \Magento\Catalog\Model\Product\LinkTypeProvider|\PHPUnit_Framework_MockObject_MockObject
109+
* @var LinkTypeProvider|MockObject
92110
*/
93111
protected $linkTypeProvider;
94112

95113
/**
96-
* @var \Magento\CatalogImportExport\Model\Export\RowCustomizer\Composite|\PHPUnit_Framework_MockObject_MockObject
114+
* @var Composite|MockObject
97115
*/
98116
protected $rowCustomizer;
99117

100118
/**
101-
* @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject
119+
* @var MetadataPool|MockObject
102120
*/
103121
protected $metadataPool;
104122

105123
/**
106-
* @var \Magento\ImportExport\Model\Export\Adapter\AbstractAdapter| \PHPUnit_Framework_MockObject_MockObject
124+
* @var AbstractAdapter|MockObject
107125
*/
108126
protected $writer;
109127

110128
/**
111-
* @var \Magento\CatalogImportExport\Model\Export\Product|\PHPUnit_Framework_MockObject_MockObject
129+
* @var Product|MockObject
112130
*/
113131
protected $product;
114132

115133
/**
116-
* @var StubProduct|\Magento\CatalogImportExport\Model\Export\Product
134+
* @var StubProduct|Product
117135
*/
118136
protected $object;
119137

120-
protected function setUp()
138+
protected function setUp(): void
121139
{
122-
$this->localeDate = $this->createMock(\Magento\Framework\Stdlib\DateTime\Timezone::class);
140+
$this->localeDate = $this->createMock(Timezone::class);
123141

124-
$this->config = $this->createPartialMock(\Magento\Eav\Model\Config::class, ['getEntityType']);
125-
$type = $this->createMock(\Magento\Eav\Model\Entity\Type::class);
142+
$this->config = $this->createPartialMock(Config::class, ['getEntityType']);
143+
$type = $this->createMock(Type::class);
126144
$this->config->expects($this->once())->method('getEntityType')->willReturn($type);
127145

128-
$this->resource = $this->createMock(\Magento\Framework\App\ResourceConnection::class);
146+
$this->resource = $this->createMock(ResourceConnection::class);
129147

130-
$this->storeManager = $this->createMock(\Magento\Store\Model\StoreManager::class);
131-
$this->logger = $this->createMock(\Magento\Framework\Logger\Monolog::class);
148+
$this->storeManager = $this->createMock(StoreManager::class);
149+
$this->logger = $this->createMock(Monolog::class);
132150

133151
$this->collection = $this->createMock(\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory::class);
134152
$this->abstractCollection = $this->getMockForAbstractClass(
135-
\Magento\Eav\Model\Entity\Collection\AbstractCollection::class,
153+
AbstractCollection::class,
136154
[],
137155
'',
138156
false,
@@ -177,15 +195,15 @@ protected function setUp()
177195
$this->attributeColFactory = $this->createMock(
178196
\Magento\Catalog\Model\ResourceModel\Product\Attribute\CollectionFactory::class
179197
);
180-
$this->typeFactory = $this->createMock(\Magento\CatalogImportExport\Model\Export\Product\Type\Factory::class);
198+
$this->typeFactory = $this->createMock(Factory::class);
181199

182-
$this->linkTypeProvider = $this->createMock(\Magento\Catalog\Model\Product\LinkTypeProvider::class);
200+
$this->linkTypeProvider = $this->createMock(LinkTypeProvider::class);
183201
$this->rowCustomizer = $this->createMock(
184-
\Magento\CatalogImportExport\Model\Export\RowCustomizer\Composite::class
202+
Composite::class
185203
);
186-
$this->metadataPool = $this->createMock(\Magento\Framework\EntityManager\MetadataPool::class);
204+
$this->metadataPool = $this->createMock(MetadataPool::class);
187205

188-
$this->writer = $this->createPartialMock(\Magento\ImportExport\Model\Export\Adapter\AbstractAdapter::class, [
206+
$this->writer = $this->createPartialMock(AbstractAdapter::class, [
189207
'setHeaderCols',
190208
'writeRow',
191209
'getContents',
@@ -213,7 +231,7 @@ protected function setUp()
213231
'_getHeaderColumns',
214232
]);
215233
$this->product = $this->createPartialMock(
216-
\Magento\CatalogImportExport\Model\Export\Product::class,
234+
Product::class,
217235
$mockMethods
218236
);
219237

@@ -264,7 +282,7 @@ public function testUpdateDataWithCategoryColumnsNoCategoriesAssigned()
264282
public function testGetHeaderColumns()
265283
{
266284
$product = $this->createPartialMock(
267-
\Magento\CatalogImportExport\Model\Export\Product::class,
285+
Product::class,
268286
['_customHeadersMapping']
269287
);
270288
$headerColumnsValue = ['headerColumns value'];
@@ -355,7 +373,7 @@ public function testExportCurPageEqualToLastBreakInternalCalls()
355373
$this->product->export();
356374
}
357375

358-
protected function tearDown()
376+
protected function tearDown(): void
359377
{
360378
unset($this->object);
361379
}

app/code/Magento/CatalogImportExport/Test/Unit/Model/Export/StubProduct.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
<?php
1+
<?php declare(strict_types=1);
22
/**
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
66
namespace Magento\CatalogImportExport\Test\Unit\Model\Export;
77

8-
class StubProduct extends \Magento\CatalogImportExport\Model\Export\Product
8+
use Magento\CatalogImportExport\Model\Export\Product;
9+
10+
/**
11+
* phpcs:disable Generic.CodeAnalysis.UselessOverridingMethod
12+
*/
13+
class StubProduct extends Product
914
{
1015
/**
1116
* Disable parent constructor

app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/CategoryProcessorTest.php

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
1-
<?php
1+
<?php declare(strict_types=1);
22
/**
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
66
namespace Magento\CatalogImportExport\Test\Unit\Model\Import\Product;
77

8+
use Magento\Catalog\Model\Category;
9+
use Magento\Catalog\Model\ResourceModel\Category\Collection;
810
use Magento\CatalogImportExport\Model\Import\Product\CategoryProcessor;
11+
use Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType;
12+
use Magento\Framework\Exception\AlreadyExistsException;
913
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
14+
use PHPUnit\Framework\MockObject\MockObject;
15+
use PHPUnit\Framework\TestCase;
1016

11-
class CategoryProcessorTest extends \PHPUnit\Framework\TestCase
17+
class CategoryProcessorTest extends TestCase
1218
{
1319
const PARENT_CATEGORY_ID = 1;
1420

@@ -25,12 +31,12 @@ class CategoryProcessorTest extends \PHPUnit\Framework\TestCase
2531
protected $objectManagerHelper;
2632

2733
/**
28-
* @var \Magento\CatalogImportExport\Model\Import\Product\CategoryProcessor|\PHPUnit_Framework_MockObject_MockObject
34+
* @var CategoryProcessor|MockObject
2935
*/
3036
protected $categoryProcessor;
3137

3238
/**
33-
* @var \Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType
39+
* @var AbstractType
3440
*/
3541
protected $product;
3642

@@ -44,12 +50,12 @@ class CategoryProcessorTest extends \PHPUnit\Framework\TestCase
4450
*/
4551
private $parentCategory;
4652

47-
protected function setUp()
53+
protected function setUp(): void
4854
{
4955
$this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
5056
$this->objectManagerHelper = new ObjectManagerHelper($this);
5157

52-
$this->childCategory = $this->getMockBuilder(\Magento\Catalog\Model\Category::class)
58+
$this->childCategory = $this->getMockBuilder(Category::class)
5359
->disableOriginalConstructor()
5460
->getMock();
5561
$this->childCategory->method('getId')->will($this->returnValue(self::CHILD_CATEGORY_ID));
@@ -59,7 +65,7 @@ protected function setUp()
5965
. self::CHILD_CATEGORY_ID
6066
));
6167

62-
$this->parentCategory = $this->getMockBuilder(\Magento\Catalog\Model\Category::class)
68+
$this->parentCategory = $this->getMockBuilder(Category::class)
6369
->disableOriginalConstructor()
6470
->getMock();
6571
$this->parentCategory->method('getId')->will($this->returnValue(self::PARENT_CATEGORY_ID));
@@ -68,7 +74,7 @@ protected function setUp()
6874

6975
$categoryCollection =
7076
$this->objectManagerHelper->getCollectionMock(
71-
\Magento\Catalog\Model\ResourceModel\Category\Collection::class,
77+
Collection::class,
7278
[
7379
self::PARENT_CATEGORY_ID => $this->parentCategory,
7480
self::CHILD_CATEGORY_ID => $this->childCategory,
@@ -102,7 +108,7 @@ protected function setUp()
102108
$categoryFactory->method('create')->will($this->returnValue($this->childCategory));
103109

104110
$this->categoryProcessor =
105-
new \Magento\CatalogImportExport\Model\Import\Product\CategoryProcessor(
111+
new CategoryProcessor(
106112
$categoryColFactory,
107113
$categoryFactory
108114
);
@@ -120,7 +126,7 @@ public function testUpsertCategories()
120126
*/
121127
public function testUpsertCategoriesWithAlreadyExistsException()
122128
{
123-
$exception = new \Magento\Framework\Exception\AlreadyExistsException();
129+
$exception = new AlreadyExistsException();
124130
$categoriesSeparator = '/';
125131
$categoryName = 'Exception Category';
126132
$this->childCategory->method('save')->willThrowException($exception);

app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/ImageTypeProcessorTest.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
<?php
1+
<?php declare(strict_types=1);
22
/**
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
66
namespace Magento\CatalogImportExport\Test\Unit\Model\Import\Product;
77

88
use Magento\CatalogImportExport\Model\Import\Product\ImageTypeProcessor;
9+
use Magento\CatalogImportExport\Model\Import\Proxy\Product\ResourceModel;
10+
use Magento\Framework\DB\Adapter\AdapterInterface;
11+
use Magento\Framework\DB\Select;
12+
use PHPUnit\Framework\TestCase;
913

10-
class ImageTypeProcessorTest extends \PHPUnit\Framework\TestCase
14+
class ImageTypeProcessorTest extends TestCase
1115
{
1216
public function testGetImageTypes()
1317
{
@@ -16,23 +20,23 @@ public function testGetImageTypes()
1620
['create']
1721
);
1822

19-
$resource = $this->getMockBuilder(\Magento\CatalogImportExport\Model\Import\Proxy\Product\ResourceModel::class)
23+
$resource = $this->getMockBuilder(ResourceModel::class)
2024
->disableOriginalConstructor()
2125
->setMethods(['getTable', 'getConnection'])
2226
->getMock();
2327
$resource->expects($this->once())
2428
->method('getTable')
2529
->with('eav_attribute')
2630
->willReturnArgument(0);
27-
$connection = $this->createMock(\Magento\Framework\DB\Adapter\AdapterInterface::class);
31+
$connection = $this->createMock(AdapterInterface::class);
2832
$resource->expects($this->any())
2933
->method('getConnection')
3034
->willReturn($connection);
3135
$resourceFactory->expects($this->once())
3236
->method('create')
3337
->willReturn($resource);
3438

35-
$selectMock = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
39+
$selectMock = $this->getMockBuilder(Select::class)
3640
->disableOriginalConstructor()
3741
->getMock();
3842
$selectMock->expects($this->once())

0 commit comments

Comments
 (0)