Skip to content

Commit 38d7aaa

Browse files
committed
Fix broken CMS Block listing page for admin users with limited permissions
Improve test
1 parent f011437 commit 38d7aaa

File tree

1 file changed

+20
-31
lines changed

1 file changed

+20
-31
lines changed

app/code/Magento/Cms/Test/Unit/Ui/Component/Listing/DataProviderTest.php

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
use Magento\Framework\Api\Search\SearchCriteriaBuilder;
2323
use Magento\Framework\App\ObjectManager;
2424
use Magento\Framework\App\RequestInterface;
25-
use Magento\Framework\Authorization;
25+
use Magento\Framework\AuthorizationInterface;
2626
use Magento\Framework\ObjectManagerInterface;
2727
use Magento\Framework\View\Element\UiComponent\DataProvider\Reporting;
2828
use Magento\Ui\Component\Container;
@@ -33,49 +33,49 @@
3333
class DataProviderTest extends TestCase
3434
{
3535
/**
36-
* @var Authorization|MockObject
36+
* @var AuthorizationInterface|MockObject
3737
*/
38-
private $authorizationMock;
38+
private AuthorizationInterface|MockObject $authorizationMock;
3939

4040
/**
4141
* @var Reporting|MockObject
4242
*/
43-
private $reportingMock;
43+
private Reporting|MockObject $reportingMock;
4444

4545
/**
4646
* @var SearchCriteriaBuilder|MockObject
4747
*/
48-
private $searchCriteriaBuilderMock;
48+
private SearchCriteriaBuilder|MockObject $searchCriteriaBuilderMock;
4949

5050
/**
5151
* @var RequestInterface|MockObject
5252
*/
53-
private $requestInterfaceMock;
53+
private RequestInterface|MockObject $requestInterfaceMock;
5454

5555
/**
5656
* @var FilterBuilder|MockObject
5757
*/
58-
private $filterBuilderMock;
58+
private FilterBuilder|MockObject $filterBuilderMock;
5959

6060
/**
6161
* @var DataProvider
6262
*/
63-
private $dataProvider;
63+
private DataProvider $dataProvider;
6464

6565
/**
6666
* @var string
6767
*/
68-
private $name = 'cms_page_listing_data_source';
68+
private string $name = 'cms_page_listing_data_source';
6969

7070
/**
7171
* @var string
7272
*/
73-
private $primaryFieldName = 'page';
73+
private string $primaryFieldName = 'page';
7474

7575
/**
7676
* @var string
7777
*/
78-
private $requestFieldName = 'id';
78+
private string $requestFieldName = 'id';
7979

8080
/**
8181
* @var array
@@ -90,30 +90,20 @@ class DataProviderTest extends TestCase
9090

9191
protected function setUp(): void
9292
{
93-
$this->authorizationMock = $this->getMockBuilder(Authorization::class)
94-
->disableOriginalConstructor()
95-
->getMock();
93+
$this->authorizationMock = $this->createMock(AuthorizationInterface::class);
9694

97-
$this->reportingMock = $this->getMockBuilder(Reporting::class)
98-
->disableOriginalConstructor()
99-
->getMock();
95+
$this->reportingMock = $this->createMock(Reporting::class);
10096

101-
$this->searchCriteriaBuilderMock = $this->getMockBuilder(SearchCriteriaBuilder::class)
102-
->disableOriginalConstructor()
103-
->getMock();
97+
$this->searchCriteriaBuilderMock = $this->createMock(SearchCriteriaBuilder::class);
10498

105-
$this->requestInterfaceMock = $this->getMockBuilder(RequestInterface::class)
106-
->disableOriginalConstructor()
107-
->getMockForAbstractClass();
99+
$this->requestInterfaceMock = $this->createMock(RequestInterface::class);
108100

109-
$this->filterBuilderMock = $this->getMockBuilder(FilterBuilder::class)
110-
->disableOriginalConstructor()
111-
->getMock();
101+
$this->filterBuilderMock = $this->createMock(FilterBuilder::class);
112102

113103
/** @var ObjectManagerInterface|MockObject $objectManagerMock */
114-
$objectManagerMock = $this->getMockForAbstractClass(ObjectManagerInterface::class);
115-
$objectManagerMock->expects($this->once())
116-
->method('get')
104+
$objectManagerMock = $this->createMock(ObjectManagerInterface::class);
105+
$objectManagerMock->method('get')
106+
->with(AuthorizationInterface::class)
117107
->willReturn($this->authorizationMock);
118108
ObjectManager::setInstance($objectManagerMock);
119109

@@ -131,15 +121,14 @@ protected function setUp(): void
131121
/**
132122
* @covers \Magento\Cms\Ui\Component\DataProvider::prepareMetadata
133123
*/
134-
public function testPrepareMetadata()
124+
public function testPrepareMetadata(): void
135125
{
136126
$this->authorizationMock->expects($this->exactly(2))
137127
->method('isAllowed')
138128
->willReturnMap(
139129
[
140130
['Magento_Cms::save', null, false],
141131
['Magento_Cms::save_design', null, false],
142-
143132
]
144133
);
145134

0 commit comments

Comments
 (0)