Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UsersTest.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\User\Model\ResourceModel\User\CollectionFactory;
11 
12 class UsersTest extends \PHPUnit\Framework\TestCase
13 {
17  protected $model;
18 
22  protected $layoutMock;
23 
24  protected function setUp()
25  {
26  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
27 
29  $userCollectionMock = $this->getMockBuilder(\Magento\User\Model\ResourceModel\User\Collection::class)
30  ->disableOriginalConstructor()
31  ->setMethods([])
32  ->getMock();
34  $userCollectionFactoryMock = $this->getMockBuilder(
35  \Magento\User\Model\ResourceModel\User\CollectionFactory::class
36  )->disableOriginalConstructor()
37  ->setMethods(['create'])
38  ->getMock();
40  $requestMock = $this->getMockBuilder(\Magento\Framework\App\RequestInterface::class)
41  ->disableOriginalConstructor()
42  ->setMethods([])
43  ->getMock();
44  $userCollectionFactoryMock->expects($this->any())->method('create')->willReturn($userCollectionMock);
45  $userCollectionMock->expects($this->any())->method('load')->willReturn($userCollectionMock);
46  $userCollectionMock->expects($this->any())->method('getItems');
47 
48  $this->layoutMock = $this->getMockBuilder(\Magento\Framework\View\LayoutInterface::class)
49  ->disableOriginalConstructor()
50  ->setMethods([])
51  ->getMock();
52  $this->model = $objectManager->getObject(
53  \Magento\User\Block\Role\Tab\Users::class,
54  [
55  'userCollectionFactory' => $userCollectionFactoryMock,
56  'request' => $requestMock,
57  'layout' => $this->layoutMock
58  ]
59  );
60  }
61 
62  public function testGetGridHtml()
63  {
64  $html = '<body></body>';
65  $this->layoutMock->expects($this->any())->method('getChildName')->willReturn('userGrid');
66  $this->layoutMock->expects($this->any())->method('renderElement')->willReturn($html);
67 
68  $this->model->setLayout($this->layoutMock);
69  $this->assertEquals($html, $this->model->getGridHtml());
70  }
71 }
$objectManager
Definition: bootstrap.php:17