![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-ui/Test/Unit/Component/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Ui\Test\Unit\Component; use Magento\Framework\Api\Filter; use Magento\Framework\Api\FilterBuilder; use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Framework\View\Element\UiComponent\DataProvider\DataProviderInterface; use Magento\Ui\Component\Form; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class FormTest extends TestCase { /** @var Form */ protected $model; /** @var ContextInterface|MockObject */ protected $contextMock; /** @var FilterBuilder|MockObject */ protected $filterBuilderMock; protected function setUp(): void { $this->contextMock = $this->getMockBuilder(ContextInterface::class) ->getMockForAbstractClass(); $this->filterBuilderMock = $this->getMockBuilder(FilterBuilder::class) ->disableOriginalConstructor() ->getMock(); $this->contextMock->expects($this->never())->method('getProcessor'); $this->model = new Form( $this->contextMock, $this->filterBuilderMock ); } public function testGetComponentName() { $this->assertEquals(Form::NAME, $this->model->getComponentName()); } public function testGetDataSourceData() { $requestFieldName = 'request_id'; $primaryFieldName = 'primary_id'; $fieldId = 44; $row = ['key' => 'value']; $data = [ $fieldId => $row, ]; $dataSource = [ 'data' => $row, ]; /** @var DataProviderInterface|MockObject $dataProviderMock */ $dataProviderMock = $this->getMockBuilder(DataProviderInterface::class) ->getMock(); $dataProviderMock->expects($this->once()) ->method('getRequestFieldName') ->willReturn($requestFieldName); $dataProviderMock->expects($this->once()) ->method('getPrimaryFieldName') ->willReturn($primaryFieldName); $this->contextMock->expects($this->any()) ->method('getDataProvider') ->willReturn($dataProviderMock); $this->contextMock->expects($this->once()) ->method('getRequestParam') ->with($requestFieldName) ->willReturn($fieldId); /** @var Filter|MockObject $filterMock */ $filterMock = $this->getMockBuilder(Filter::class) ->disableOriginalConstructor() ->getMock(); $this->filterBuilderMock->expects($this->once()) ->method('setField') ->with($primaryFieldName) ->willReturnSelf(); $this->filterBuilderMock->expects($this->once()) ->method('setValue') ->with($fieldId) ->willReturnSelf(); $this->filterBuilderMock->expects($this->once()) ->method('create') ->willReturn($filterMock); $dataProviderMock->expects($this->once()) ->method('addFilter') ->with($filterMock); $dataProviderMock->expects($this->once()) ->method('getData') ->willReturn($data); $this->assertEquals($dataSource, $this->model->getDataSourceData()); } public function testGetDataSourceDataWithoutData() { $requestFieldName = 'request_id'; $primaryFieldName = 'primary_id'; $fieldId = 44; $data = []; $dataSource = []; /** @var DataProviderInterface|MockObject $dataProviderMock */ $dataProviderMock = $this->getMockBuilder(DataProviderInterface::class) ->getMock(); $dataProviderMock->expects($this->once()) ->method('getRequestFieldName') ->willReturn($requestFieldName); $dataProviderMock->expects($this->once()) ->method('getPrimaryFieldName') ->willReturn($primaryFieldName); $this->contextMock->expects($this->any()) ->method('getDataProvider') ->willReturn($dataProviderMock); $this->contextMock->expects($this->once()) ->method('getRequestParam') ->with($requestFieldName) ->willReturn($fieldId); /** @var Filter|MockObject $filterMock */ $filterMock = $this->getMockBuilder(Filter::class) ->disableOriginalConstructor() ->getMock(); $this->filterBuilderMock->expects($this->once()) ->method('setField') ->with($primaryFieldName) ->willReturnSelf(); $this->filterBuilderMock->expects($this->once()) ->method('setValue') ->with($fieldId) ->willReturnSelf(); $this->filterBuilderMock->expects($this->once()) ->method('create') ->willReturn($filterMock); $dataProviderMock->expects($this->once()) ->method('addFilter') ->with($filterMock); $dataProviderMock->expects($this->once()) ->method('getData') ->willReturn($data); $this->assertEquals($dataSource, $this->model->getDataSourceData()); } public function testGetDataSourceDataWithoutId() { $requestFieldName = 'request_id'; $primaryFieldName = 'primary_id'; $fieldId = null; $row = ['key' => 'value']; $data = [ $fieldId => $row, ]; $dataSource = [ 'data' => $row, ]; /** @var DataProviderInterface|MockObject $dataProviderMock */ $dataProviderMock = $this->getMockBuilder(DataProviderInterface::class) ->getMock(); $dataProviderMock->expects($this->once()) ->method('getRequestFieldName') ->willReturn($requestFieldName); $dataProviderMock->expects($this->once()) ->method('getPrimaryFieldName') ->willReturn($primaryFieldName); $this->contextMock->expects($this->any()) ->method('getDataProvider') ->willReturn($dataProviderMock); $this->contextMock->expects($this->once()) ->method('getRequestParam') ->with($requestFieldName) ->willReturn($fieldId); /** @var Filter|MockObject $filterMock */ $filterMock = $this->getMockBuilder(Filter::class) ->disableOriginalConstructor() ->getMock(); $this->filterBuilderMock->expects($this->once()) ->method('setField') ->with($primaryFieldName) ->willReturnSelf(); $this->filterBuilderMock->expects($this->once()) ->method('setValue') ->with($fieldId) ->willReturnSelf(); $this->filterBuilderMock->expects($this->once()) ->method('create') ->willReturn($filterMock); $dataProviderMock->expects($this->once()) ->method('addFilter') ->with($filterMock); $dataProviderMock->expects($this->once()) ->method('getData') ->willReturn($data); $this->assertEquals($dataSource, $this->model->getDataSourceData()); } public function testGetDataSourceDataWithAbstractDataProvider() { $requestFieldName = 'request_id'; $primaryFieldName = 'primary_id'; $fieldId = 44; $row = ['key' => 'value', $primaryFieldName => $fieldId]; $data = [ 'items' => [$row], ]; $dataSource = [ 'data' => [ 'general' => $row ], ]; /** @var DataProviderInterface|MockObject $dataProviderMock */ $dataProviderMock = $this->getMockBuilder(DataProviderInterface::class) ->getMock(); $dataProviderMock->expects($this->once()) ->method('getRequestFieldName') ->willReturn($requestFieldName); $dataProviderMock->expects($this->once()) ->method('getPrimaryFieldName') ->willReturn($primaryFieldName); $this->contextMock->expects($this->any()) ->method('getDataProvider') ->willReturn($dataProviderMock); $this->contextMock->expects($this->once()) ->method('getRequestParam') ->with($requestFieldName) ->willReturn($fieldId); /** @var Filter|MockObject $filterMock */ $filterMock = $this->getMockBuilder(Filter::class) ->disableOriginalConstructor() ->getMock(); $this->filterBuilderMock->expects($this->once()) ->method('setField') ->with($primaryFieldName) ->willReturnSelf(); $this->filterBuilderMock->expects($this->once()) ->method('setValue') ->with($fieldId) ->willReturnSelf(); $this->filterBuilderMock->expects($this->once()) ->method('create') ->willReturn($filterMock); $dataProviderMock->expects($this->once()) ->method('addFilter') ->with($filterMock); $dataProviderMock->expects($this->once()) ->method('getData') ->willReturn($data); $this->assertEquals($dataSource, $this->model->getDataSourceData()); } }