UsersTest.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\User\Test\Unit\Block\Role\Tab;
  7. use Magento\User\Model\ResourceModel\User\CollectionFactory;
  8. use Magento\User\Model\ResourceModel\User\Collection;
  9. class UsersTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /**
  12. * @var \Magento\User\Block\Role\Tab\Users
  13. */
  14. protected $model;
  15. /**
  16. * @var \Magento\Framework\View\LayoutInterface|\PHPUnit_Framework_MockObject_MockObject
  17. */
  18. protected $layoutMock;
  19. protected function setUp()
  20. {
  21. $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  22. /** @var Collection|\PHPUnit_Framework_MockObject_MockObject $userCollectionFactoryMock $userCollectionMock */
  23. $userCollectionMock = $this->getMockBuilder(\Magento\User\Model\ResourceModel\User\Collection::class)
  24. ->disableOriginalConstructor()
  25. ->setMethods([])
  26. ->getMock();
  27. /** @var CollectionFactory|\PHPUnit_Framework_MockObject_MockObject $userCollectionFactoryMock */
  28. $userCollectionFactoryMock = $this->getMockBuilder(
  29. \Magento\User\Model\ResourceModel\User\CollectionFactory::class
  30. )->disableOriginalConstructor()
  31. ->setMethods(['create'])
  32. ->getMock();
  33. /** @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject $requestMock */
  34. $requestMock = $this->getMockBuilder(\Magento\Framework\App\RequestInterface::class)
  35. ->disableOriginalConstructor()
  36. ->setMethods([])
  37. ->getMock();
  38. $userCollectionFactoryMock->expects($this->any())->method('create')->willReturn($userCollectionMock);
  39. $userCollectionMock->expects($this->any())->method('load')->willReturn($userCollectionMock);
  40. $userCollectionMock->expects($this->any())->method('getItems');
  41. $this->layoutMock = $this->getMockBuilder(\Magento\Framework\View\LayoutInterface::class)
  42. ->disableOriginalConstructor()
  43. ->setMethods([])
  44. ->getMock();
  45. $this->model = $objectManager->getObject(
  46. \Magento\User\Block\Role\Tab\Users::class,
  47. [
  48. 'userCollectionFactory' => $userCollectionFactoryMock,
  49. 'request' => $requestMock,
  50. 'layout' => $this->layoutMock
  51. ]
  52. );
  53. }
  54. public function testGetGridHtml()
  55. {
  56. $html = '<body></body>';
  57. $this->layoutMock->expects($this->any())->method('getChildName')->willReturn('userGrid');
  58. $this->layoutMock->expects($this->any())->method('renderElement')->willReturn($html);
  59. $this->model->setLayout($this->layoutMock);
  60. $this->assertEquals($html, $this->model->getGridHtml());
  61. }
  62. }