Skip to content

Commit 89b0a9d

Browse files
committed
refactoring, fix unit test
1 parent 1f96b87 commit 89b0a9d

File tree

1 file changed

+40
-33
lines changed

1 file changed

+40
-33
lines changed

app/code/Magento/Catalog/Test/Unit/Model/Product/CopierTest.php

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,18 @@
55
*/
66
namespace Magento\Catalog\Test\Unit\Model\Product;
77

8+
use Magento\Catalog\Api\Data\ProductExtension;
89
use Magento\Catalog\Api\Data\ProductInterface;
910
use Magento\Catalog\Model\Attribute\ScopeOverriddenValue;
1011
use Magento\Catalog\Model\Product;
1112
use Magento\Catalog\Model\Product\Copier;
13+
use Magento\Catalog\Model\Product\CopyConstructorInterface;
14+
use Magento\Catalog\Model\Product\Option\Repository;
15+
use Magento\Catalog\Model\ProductFactory;
16+
use Magento\CatalogInventory\Api\Data\StockItemInterface;
17+
use Magento\Framework\EntityManager\EntityMetadata;
18+
use Magento\Framework\EntityManager\MetadataPool;
19+
use PHPUnit\Framework\MockObject\MockObject;
1220

1321
/**
1422
* Test for Magento\Catalog\Model\Product\Copier class.
@@ -18,62 +26,60 @@
1826
class CopierTest extends \PHPUnit\Framework\TestCase
1927
{
2028
/**
21-
* @var \PHPUnit_Framework_MockObject_MockObject
29+
* @var MockObject
2230
*/
23-
protected $optionRepositoryMock;
31+
private $optionRepositoryMock;
2432

2533
/**
2634
* @var Copier
2735
*/
28-
protected $_model;
36+
private $_model;
2937

3038
/**
31-
* @var \PHPUnit_Framework_MockObject_MockObject
39+
* @var MockObject
3240
*/
33-
protected $copyConstructorMock;
41+
private $copyConstructorMock;
3442

3543
/**
36-
* @var \PHPUnit_Framework_MockObject_MockObject
44+
* @var MockObject
3745
*/
38-
protected $productFactoryMock;
46+
private $productFactoryMock;
3947

4048
/**
41-
* @var \PHPUnit_Framework_MockObject_MockObject
49+
* @var MockObject
4250
*/
43-
protected $productMock;
51+
private $productMock;
4452

4553
/**
46-
* @var \PHPUnit_Framework_MockObject_MockObject
54+
* @var MockObject
4755
*/
48-
protected $metadata;
56+
private $metadata;
4957

5058
/**
51-
* @var ScopeOverriddenValue|\PHPUnit_Framework_MockObject_MockObject
59+
* @var ScopeOverriddenValue|MockObject
5260
*/
5361
private $scopeOverriddenValue;
5462

63+
/**
64+
* @ingeritdoc
65+
*/
5566
protected function setUp()
5667
{
57-
$this->copyConstructorMock = $this->createMock(\Magento\Catalog\Model\Product\CopyConstructorInterface::class);
58-
$this->productFactoryMock = $this->createPartialMock(
59-
\Magento\Catalog\Model\ProductFactory::class,
60-
['create']
61-
);
62-
$this->optionRepositoryMock = $this->createMock(
63-
\Magento\Catalog\Model\Product\Option\Repository::class
64-
);
65-
$this->optionRepositoryMock;
68+
$this->metadata = $this->createMock(EntityMetadata::class);
69+
$metadataPool = $this->createMock(MetadataPool::class);
70+
71+
$this->copyConstructorMock = $this->createMock(CopyConstructorInterface::class);
72+
$this->productFactoryMock = $this->createPartialMock(ProductFactory::class, ['create']);
73+
$this->optionRepositoryMock = $this->createMock(Repository::class);
6674
$this->productMock = $this->createMock(Product::class);
67-
$this->productMock->expects($this->any())->method('getEntityId')->willReturn(1);
6875
$this->scopeOverriddenValue = $this->createMock(ScopeOverriddenValue::class);
6976

70-
$this->metadata = $this->getMockBuilder(\Magento\Framework\EntityManager\EntityMetadata::class)
71-
->disableOriginalConstructor()
72-
->getMock();
73-
$metadataPool = $this->getMockBuilder(\Magento\Framework\EntityManager\MetadataPool::class)
74-
->disableOriginalConstructor()
75-
->getMock();
76-
$metadataPool->expects($this->any())->method('getMetadata')->willReturn($this->metadata);
77+
$this->productMock->expects($this->any())
78+
->method('getEntityId')
79+
->willReturn(1);
80+
$metadataPool->expects($this->any())
81+
->method('getMetadata')
82+
->willReturn($this->metadata);
7783

7884
$this->_model = new Copier(
7985
$this->copyConstructorMock,
@@ -95,9 +101,8 @@ protected function setUp()
95101
*/
96102
public function testCopy()
97103
{
98-
$stockItem = $this->getMockBuilder(\Magento\CatalogInventory\Api\Data\StockItemInterface::class)
99-
->getMock();
100-
$extensionAttributes = $this->getMockBuilder(\Magento\Catalog\Api\Data\ProductExtension::class)
104+
$stockItem = $this->createMock(StockItemInterface::class);
105+
$extensionAttributes = $this->getMockBuilder(ProductExtension::class)
101106
->setMethods(['getStockItem', 'setData'])
102107
->getMock();
103108
$extensionAttributes
@@ -179,6 +184,9 @@ public function testCopy()
179184
'setUrlKey',
180185
'setStoreId',
181186
'getStoreIds',
187+
'setMetaTitle',
188+
'setMetaKeyword',
189+
'setMetaDescription'
182190
]
183191
);
184192
$this->productFactoryMock->expects($this->once())->method('create')->will($this->returnValue($duplicateMock));
@@ -216,7 +224,6 @@ public function testCopy()
216224
$this->optionRepositoryMock->expects($this->once())
217225
->method('duplicate')
218226
->with($this->productMock, $duplicateMock);
219-
$resourceMock->expects($this->once())->method('duplicate')->with(1, 2);
220227

221228
$this->assertEquals($duplicateMock, $this->_model->copy($this->productMock));
222229
}

0 commit comments

Comments
 (0)