Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UiComponentGeneratorTest.php
Go to the documentation of this file.
1 <?php
7 
11 
12 class UiComponentGeneratorTest extends \PHPUnit\Framework\TestCase
13 {
15  protected $model;
16 
19 
22 
25 
26  protected function setUp()
27  {
28  $this->contextFactoryMock = $this
29  ->getMockBuilder(\Magento\Framework\View\Element\UiComponent\ContextFactory::class)
30  ->setMethods(['create'])
31  ->disableOriginalConstructor()
32  ->getMock();
33  $this->uiComponentFactoryMock = $this->getMockBuilder(\Magento\Framework\View\Element\UiComponentFactory::class)
34  ->setMethods(['create'])
35  ->disableOriginalConstructor()
36  ->getMock();
37 
38  $this->objectManagerHelper = new ObjectManagerHelper($this);
39  $this->model = $this->objectManagerHelper->getObject(
40  \Magento\Ui\Model\UiComponentGenerator::class,
41  [
42  'contextFactory' => $this->contextFactoryMock,
43  'uiComponentFactory' => $this->uiComponentFactoryMock
44  ]
45  );
46  }
47 
48  public function testGenerateUiComponent()
49  {
50  $uiComponentMock = $this->createMock(UiComponentInterface::class);
51  $uiComponentMockChild1 = $this->createMock(UiComponentInterface::class);
52  $uiComponentMockChild2 = $this->createMock(UiComponentInterface::class);
53  $uiComponentMockChild1->expects($this->once())
54  ->method('prepare');
55  $uiComponentMockChild2->expects($this->once())
56  ->method('prepare');
57  $uiComponentMock->expects($this->once())
58  ->method('prepare');
59  $uiComponentMock->expects($this->once())
60  ->method('getChildComponents')
61  ->willReturn([$uiComponentMockChild1, $uiComponentMockChild2]);
62  $this->uiComponentFactoryMock->expects($this->once())
63  ->method('create')
64  ->willReturn($uiComponentMock);
65  $layoutMock = $this->createMock(\Magento\Framework\View\LayoutInterface::class);
66  $this->model->generateUiComponent('widget_recently_viewed', $layoutMock);
67  }
68 }