Skip to content

Commit 79c7f31

Browse files
author
Viktor Kopin
committed
MC-37665: Updating a category through the REST API will uncheck "Use Default Value" on a bunch of attributes
1 parent f2e194b commit 79c7f31

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Magento\Catalog\Model\Category as CategoryModel;
1212
use Magento\Catalog\Model\CategoryFactory;
1313
use Magento\Catalog\Model\CategoryRepository;
14+
use Magento\Catalog\Model\CategoryRepository\PopulateWithValues;
1415
use Magento\Framework\Api\ExtensibleDataObjectConverter;
1516
use Magento\Framework\DataObject;
1617
use Magento\Framework\EntityManager\EntityMetadata;
@@ -63,6 +64,11 @@ class CategoryRepositoryTest extends TestCase
6364
*/
6465
protected $metadataPoolMock;
6566

67+
/**
68+
* @var MockObject
69+
*/
70+
protected $populateWithValuesMock;
71+
6672
protected function setUp(): void
6773
{
6874
$this->categoryFactoryMock = $this->createPartialMock(
@@ -94,6 +100,12 @@ protected function setUp(): void
94100
->with(CategoryInterface::class)
95101
->willReturn($metadataMock);
96102

103+
$this->populateWithValuesMock = $this
104+
->getMockBuilder(PopulateWithValues::class)
105+
->setMethods(['execute'])
106+
->disableOriginalConstructor()
107+
->getMock();
108+
97109
$this->model = (new ObjectManager($this))->getObject(
98110
CategoryRepository::class,
99111
[
@@ -102,6 +114,7 @@ protected function setUp(): void
102114
'storeManager' => $this->storeManagerMock,
103115
'metadataPool' => $this->metadataPoolMock,
104116
'extensibleDataObjectConverter' => $this->extensibleDataObjectConverterMock,
117+
'populateWithValues' => $this->populateWithValuesMock,
105118
]
106119
);
107120
}
@@ -202,7 +215,7 @@ public function testFilterExtraFieldsOnUpdateCategory($categoryId, $categoryData
202215
->method('toNestedArray')
203216
->willReturn($categoryData);
204217
$categoryMock->expects($this->once())->method('validate')->willReturn(true);
205-
$categoryMock->expects($this->once())->method('addData')->with($dataForSave);
218+
$this->populateWithValuesMock->expects($this->once())->method('execute')->with($categoryMock, $dataForSave);
206219
$this->categoryResourceMock->expects($this->once())
207220
->method('save')
208221
->willReturn(DataObject::class);
@@ -230,11 +243,11 @@ public function testCreateNewCategory()
230243

231244
$categoryMock->expects($this->once())->method('getParentId')->willReturn($parentCategoryId);
232245
$parentCategoryMock->expects($this->once())->method('getPath')->willReturn('path');
233-
$categoryMock->expects($this->once())->method('addData')->with($dataForSave);
234246
$categoryMock->expects($this->once())->method('validate')->willReturn(true);
235247
$this->categoryResourceMock->expects($this->once())
236248
->method('save')
237249
->willReturn(DataObject::class);
250+
$this->populateWithValuesMock->expects($this->once())->method('execute')->with($categoryMock, $dataForSave);
238251
$this->assertEquals($categoryMock, $this->model->save($categoryMock));
239252
}
240253

0 commit comments

Comments
 (0)