Skip to content

Commit 89cc95a

Browse files
committed
AC-15049 : [CE] PHPUnit 12: Upgrade Security & Authentication related test cases
1 parent 912823f commit 89cc95a

File tree

19 files changed

+315
-541
lines changed

19 files changed

+315
-541
lines changed

app/code/Magento/User/Test/Unit/Block/Role/EditTest.php

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,25 +45,24 @@ class EditTest extends TestCase
4545
*/
4646
protected function setUp(): void
4747
{
48-
$this->jsonEncoderMock = $this->getMockBuilder(EncoderInterface::class)
49-
->disableOriginalConstructor()
50-
->getMockForAbstractClass();
51-
52-
$this->authSessionsMock = $this->getMockBuilder(Session::class)
53-
->disableOriginalConstructor()
54-
->getMock();
55-
56-
$this->registryMock = $this->getMockBuilder(Registry::class)
57-
->disableOriginalConstructor()
58-
->onlyMethods(['registry'])
59-
->getMock();
60-
61-
$this->layoutInterfaceMock = $this->getMockBuilder(LayoutInterface::class)
62-
->disableOriginalConstructor()
63-
->addMethods(['setRole', 'setActive', 'getId'])
64-
->getMockForAbstractClass();
65-
6648
$objectManagerHelper = new ObjectManager($this);
49+
50+
$this->jsonEncoderMock = $this->createMock(EncoderInterface::class);
51+
$this->authSessionsMock = $this->createMock(Session::class);
52+
$this->registryMock = $this->createPartialMock(Registry::class, ['registry']);
53+
$this->layoutInterfaceMock = $objectManagerHelper->createPartialMockWithReflection(
54+
LayoutInterface::class,
55+
[
56+
'getUpdate', 'generateXml', 'generateElements', 'renderElement', 'addOutputElement',
57+
'getOutput', 'hasElement', 'unsetElement', 'getAllBlocks', 'getBlock',
58+
'getChildBlock', 'setChild', 'reorderChild', 'unsetChild', 'getChildNames',
59+
'getChildBlocks', 'getChildName', 'addToParentGroup', 'getGroupChildNames',
60+
'getParentName', 'createBlock', 'addBlock', 'addContainer', 'renameElement',
61+
'getElementAlias', 'removeOutputElement', 'getMessagesBlock', 'getBlockSingleton',
62+
'getElementProperty', 'isBlock', 'isContainer', 'isManipulationAllowed',
63+
'setBlock', 'isCacheable', 'setRole', 'setActive', 'getId'
64+
]
65+
);
6766
$objects = [
6867
[
6968
JsonHelper::class,

app/code/Magento/User/Test/Unit/Block/Role/Grid/UserTest.php

Lines changed: 40 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
use Magento\User\Controller\Adminhtml\User\Role\SaveRole;
2424
use Magento\User\Model\ResourceModel\Role\User\CollectionFactory;
2525
use Magento\Framework\Escaper;
26+
use Magento\Backend\Helper\Data as BackendHelper;
27+
use Magento\Framework\Json\Helper\Data as JsonHelper;
2628
use PHPUnit\Framework\MockObject\MockObject;
2729
use PHPUnit\Framework\TestCase;
2830

@@ -88,53 +90,37 @@ class UserTest extends TestCase
8890
*/
8991
protected $escaperMock;
9092

93+
/**
94+
* @var ObjectManager
95+
*/
96+
protected $objectManagerHelper;
97+
9198
protected function setUp(): void
9299
{
93-
$this->backendHelperMock = $this->getMockBuilder(Data::class)
94-
->disableOriginalConstructor()
95-
->getMock();
96-
97-
$this->jsonEncoderMock = $this->getMockBuilder(EncoderInterface::class)
98-
->disableOriginalConstructor()
99-
->getMockForAbstractClass();
100-
101-
$this->registryMock = $this->getMockBuilder(Registry::class)
102-
->disableOriginalConstructor()
103-
->getMock();
104-
105-
$this->roleFactoryMock = $this->getMockBuilder(RoleFactory::class)
106-
->disableOriginalConstructor()
107-
->onlyMethods(['create'])
108-
->getMock();
109-
110-
$this->userRolesFactoryMock = $this
111-
->getMockBuilder(CollectionFactory::class)
112-
->disableOriginalConstructor()
113-
->onlyMethods(['create'])
114-
->getMock();
115-
116-
$this->requestInterfaceMock = $this->getMockBuilder(RequestInterface::class)
117-
->disableOriginalConstructor()
118-
->getMockForAbstractClass();
119-
120-
$this->urlInterfaceMock = $this->getMockBuilder(UrlInterface::class)
121-
->disableOriginalConstructor()
122-
->getMockForAbstractClass();
123-
124-
$this->layoutMock = $this->getMockBuilder(LayoutInterface::class)
125-
->disableOriginalConstructor()
126-
->getMockForAbstractClass();
127-
128-
$this->filesystemMock = $this->getMockBuilder(Filesystem::class)
129-
->disableOriginalConstructor()
130-
->getMock();
131-
132-
$this->escaperMock = $this->getMockBuilder(Escaper::class)
133-
->disableOriginalConstructor()
134-
->getMockForAbstractClass();
135-
136-
$objectManagerHelper = new ObjectManager($this);
137-
$this->model = $objectManagerHelper->getObject(
100+
$this->objectManagerHelper = new ObjectManager($this);
101+
102+
$jsonHelperMock = $this->createMock(JsonHelper::class);
103+
$backendHelperMock = $this->createMock(BackendHelper::class);
104+
$this->objectManagerHelper->prepareObjectManager([
105+
[JsonHelper::class, $jsonHelperMock],
106+
[BackendHelper::class, $backendHelperMock]
107+
]);
108+
109+
$this->backendHelperMock = $this->createMock(Data::class);
110+
$this->jsonEncoderMock = $this->createMock(EncoderInterface::class);
111+
$this->registryMock = $this->createMock(Registry::class);
112+
$this->roleFactoryMock = $this->createPartialMock(RoleFactory::class, ['create']);
113+
$this->userRolesFactoryMock = $this->createPartialMock(CollectionFactory::class, ['create']);
114+
$this->requestInterfaceMock = $this->createMock(RequestInterface::class);
115+
$this->urlInterfaceMock = $this->createMock(UrlInterface::class);
116+
$this->layoutMock = $this->createMock(LayoutInterface::class);
117+
$this->filesystemMock = $this->createMock(Filesystem::class);
118+
$this->escaperMock = $this->createMock(Escaper::class);
119+
120+
$this->escaperMock->method('escapeHtml')->willReturnArgument(0);
121+
$this->escaperMock->method('escapeJs')->willReturnArgument(0);
122+
123+
$this->model = $this->objectManagerHelper->getObject(
138124
User::class,
139125
[
140126
'backendHelper' => $this->backendHelperMock,
@@ -173,9 +159,7 @@ public function testGetUsersPositiveNumberOfRolesAndJsonFalse(): void
173159
$roleId = 1;
174160
$roles = ['role1', 'role2', 'role3'];
175161
/** @var Role|MockObject */
176-
$roleModelMock = $this->getMockBuilder(Role::class)
177-
->disableOriginalConstructor()
178-
->getMock();
162+
$roleModelMock = $this->createMock(Role::class);
179163

180164
$this->requestInterfaceMock->method('getParam')
181165
->willReturnOnConsecutiveCalls('', $roleId);
@@ -201,9 +185,7 @@ public function testGetUsersPositiveNumberOfRolesAndJsonTrue(): void
201185
$roleId = 1;
202186
$roles = ['role1', 'role2', 'role3'];
203187
/** @var Role|MockObject */
204-
$roleModelMock = $this->getMockBuilder(Role::class)
205-
->disableOriginalConstructor()
206-
->getMock();
188+
$roleModelMock = $this->createMock(Role::class);
207189

208190
$this->requestInterfaceMock->method('getParam')
209191
->willReturnOnConsecutiveCalls('', $roleId);
@@ -227,9 +209,7 @@ public function testGetUsersNoRolesAndJsonFalse(): void
227209
$roleId = 1;
228210
$roles = [];
229211
/** @var Role|MockObject */
230-
$roleModelMock = $this->getMockBuilder(Role::class)
231-
->disableOriginalConstructor()
232-
->getMock();
212+
$roleModelMock = $this->createMock(Role::class);
233213

234214
$this->requestInterfaceMock->method('getParam')
235215
->willReturnOnConsecutiveCalls('', $roleId);
@@ -252,15 +232,11 @@ public function testGetUsersNoRolesAndJsonFalse(): void
252232
public function testPrepareColumns(): void
253233
{
254234
$this->requestInterfaceMock->expects($this->any())->method('getParam')->willReturn(1);
255-
$layoutBlockMock = $this->getMockBuilder(LayoutInterface::class)
256-
->disableOriginalConstructor()
257-
->getMockForAbstractClass();
258-
$blockMock = $this->getMockBuilder(AbstractBlock::class)
259-
->disableOriginalConstructor()
260-
->onlyMethods(['setData', 'getLayout', 'getChildNames'])
261-
->addMethods(['setGrid', 'setId', 'isAvailable'])
262-
->setMockClassName('mainblock')
263-
->getMock();
235+
$layoutBlockMock = $this->createMock(LayoutInterface::class);
236+
$blockMock = $this->objectManagerHelper->createPartialMockWithReflection(
237+
AbstractBlock::class,
238+
['setData', 'getLayout', 'getChildNames', 'setGrid', 'setId', 'isAvailable']
239+
);
264240
$blockMock->expects($this->any())->method('getLayout')->willReturn($layoutBlockMock);
265241
$this->layoutMock->expects($this->any())->method('getChildName')->willReturn('name');
266242
$this->layoutMock->expects($this->any())->method('getBlock')->willReturn($blockMock);
@@ -272,9 +248,7 @@ public function testPrepareColumns(): void
272248
$layoutBlockMock->expects($this->any())->method('getChildName')->willReturn('name');
273249
$layoutBlockMock->expects($this->any())->method('getBlock')->willReturn($blockMock);
274250
$layoutBlockMock->expects($this->any())->method('createBlock')->willReturn($blockMock);
275-
$directoryMock = $this->getMockBuilder(ReadInterface::class)
276-
->disableOriginalConstructor()
277-
->getMockForAbstractClass();
251+
$directoryMock = $this->createMock(ReadInterface::class);
278252
$this->filesystemMock->expects($this->any())->method('getDirectoryRead')->willReturn($directoryMock);
279253
$directoryMock->expects($this->any())->method('getRelativePath')->willReturn('filename');
280254

app/code/Magento/User/Test/Unit/Block/Role/Tab/EditTest.php

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Magento\Integration\Helper\Data;
1919
use Magento\User\Block\Role\Tab\Edit;
2020
use Magento\User\Controller\Adminhtml\User\Role\SaveRole;
21+
use PHPUnit\Framework\Attributes\DataProvider;
2122
use PHPUnit\Framework\MockObject\MockObject;
2223
use PHPUnit\Framework\TestCase;
2324

@@ -49,33 +50,12 @@ class EditTest extends TestCase
4950

5051
protected function setUp(): void
5152
{
52-
$this->rootResourceMock = $this->getMockBuilder(RootResource::class)
53-
->disableOriginalConstructor()
54-
->getMock();
55-
56-
$this->rulesCollectionFactoryMock = $this
57-
->getMockBuilder(CollectionFactory::class)
58-
->disableOriginalConstructor()
59-
->onlyMethods(['create'])
60-
->getMock();
61-
62-
$this->aclRetrieverMock = $this->getMockBuilder(AclRetriever::class)
63-
->disableOriginalConstructor()
64-
->getMock();
65-
66-
$this->aclResourceProviderMock = $this->getMockBuilder(
67-
ProviderInterface::class
68-
)->disableOriginalConstructor()
69-
->getMock();
70-
71-
$this->integrationDataMock = $this->getMockBuilder(Data::class)
72-
->disableOriginalConstructor()
73-
->getMock();
74-
75-
$this->coreRegistryMock = $this->getMockBuilder(Registry::class)
76-
->disableOriginalConstructor()
77-
->onlyMethods(['registry'])
78-
->getMock();
53+
$this->rootResourceMock = $this->createMock(RootResource::class);
54+
$this->rulesCollectionFactoryMock = $this->createPartialMock(CollectionFactory::class, ['create']);
55+
$this->aclRetrieverMock = $this->createMock(AclRetriever::class);
56+
$this->aclResourceProviderMock = $this->createMock(ProviderInterface::class);
57+
$this->integrationDataMock = $this->createMock(Data::class);
58+
$this->coreRegistryMock = $this->createPartialMock(Registry::class, ['registry']);
7959

8060
$this->objectManagerHelper = new ObjectManager($this);
8161
$objects = [
@@ -122,10 +102,7 @@ public function testGetTree()
122102
$this->assertEquals($mappedResources, $this->model->getTree());
123103
}
124104

125-
/**
126-
* @param bool $isAllowed
127-
* @dataProvider dataProviderBoolValues
128-
*/
105+
#[DataProvider('dataProviderBoolValues')]
129106
public function testIsEverythingAllowed($isAllowed)
130107
{
131108
$id = 10;

app/code/Magento/User/Test/Unit/Block/Role/Tab/InfoTest.php

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,8 @@ protected function setUp(): void
4545
]
4646
];
4747
$objectManager->prepareObjectManager($objects);
48-
$this->formFactoryMock = $this->getMockBuilder(FormFactory::class)
49-
->disableOriginalConstructor()
50-
->getMock();
51-
$roleMock = $this->getMockBuilder(Role::class)
52-
->disableOriginalConstructor()
53-
->onlyMethods(['getData'])
54-
->getMock();
48+
$this->formFactoryMock = $this->createMock(FormFactory::class);
49+
$roleMock = $this->createPartialMock(Role::class, ['getData']);
5550

5651
$roleMock->expects($this->any())->method('getData')->willReturn(['test_data' => 1]);
5752

@@ -89,12 +84,8 @@ public function testIsHidden()
8984

9085
public function testBeforeToHtml()
9186
{
92-
$formMock = $this->getMockBuilder(Form::class)
93-
->disableOriginalConstructor()
94-
->getMock();
95-
$fieldsetMock = $this->getMockBuilder(Fieldset::class)
96-
->disableOriginalConstructor()
97-
->getMock();
87+
$formMock = $this->createMock(Form::class);
88+
$fieldsetMock = $this->createMock(Fieldset::class);
9889
$this->formFactoryMock->expects($this->any())->method('create')->willReturn($formMock);
9990
$formMock->expects($this->any())->method('addFieldSet')->willReturn($fieldsetMock);
10091
$fieldsetMock->expects($this->exactly(5))

app/code/Magento/User/Test/Unit/Block/Role/Tab/UsersTest.php

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,26 +45,16 @@ protected function setUp(): void
4545
];
4646
$objectManager->prepareObjectManager($objects);
4747
/** @var Collection|MockObject $userCollectionFactoryMock $userCollectionMock */
48-
$userCollectionMock = $this->getMockBuilder(Collection::class)
49-
->disableOriginalConstructor()
50-
->getMock();
48+
$userCollectionMock = $this->createMock(Collection::class);
5149
/** @var CollectionFactory|MockObject $userCollectionFactoryMock */
52-
$userCollectionFactoryMock = $this->getMockBuilder(
53-
CollectionFactory::class
54-
)->disableOriginalConstructor()
55-
->onlyMethods(['create'])
56-
->getMock();
50+
$userCollectionFactoryMock = $this->createPartialMock(CollectionFactory::class, ['create']);
5751
/** @var RequestInterface|MockObject $requestMock */
58-
$requestMock = $this->getMockBuilder(RequestInterface::class)
59-
->disableOriginalConstructor()
60-
->getMockForAbstractClass();
52+
$requestMock = $this->createMock(RequestInterface::class);
6153
$userCollectionFactoryMock->expects($this->any())->method('create')->willReturn($userCollectionMock);
6254
$userCollectionMock->expects($this->any())->method('load')->willReturn($userCollectionMock);
6355
$userCollectionMock->expects($this->any())->method('getItems');
6456

65-
$this->layoutMock = $this->getMockBuilder(LayoutInterface::class)
66-
->disableOriginalConstructor()
67-
->getMockForAbstractClass();
57+
$this->layoutMock = $this->createMock(LayoutInterface::class);
6858
$this->model = $objectManager->getObject(
6959
Users::class,
7060
[

app/code/Magento/User/Test/Unit/Block/User/Edit/Tab/RolesTest.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,8 @@ class RolesTest extends TestCase
3434

3535
protected function setUp(): void
3636
{
37-
$this->jsonEncoderMock = $this->getMockBuilder(EncoderInterface::class)
38-
->disableOriginalConstructor()
39-
->getMockForAbstractClass();
40-
41-
$this->requestInterfaceMock = $this->getMockBuilder(RequestInterface::class)
42-
->disableOriginalConstructor()
43-
->getMockForAbstractClass();
37+
$this->jsonEncoderMock = $this->createMock(EncoderInterface::class);
38+
$this->requestInterfaceMock = $this->createMock(RequestInterface::class);
4439

4540
$objectManagerHelper = new ObjectManager($this);
4641
$objects = [

0 commit comments

Comments
 (0)