![]() 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\TestFramework\Unit\Helper\ObjectManager; use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Framework\View\Element\UiComponent\Processor; use Magento\Ui\Component\MassAction; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class MassActionTest extends TestCase { /** * @var ContextInterface|MockObject */ protected $contextMock; /** * @var ObjectManager */ protected $objectManager; /** * Set up */ protected function setUp(): void { $this->objectManager = new ObjectManager($this); $this->contextMock = $this->getMockBuilder(ContextInterface::class) ->getMockForAbstractClass(); } /** * Run test getComponentName method * * @return void */ public function testGetComponentName() { $this->contextMock->expects($this->never())->method('getProcessor'); /** @var MassAction $massAction */ $massAction = $this->objectManager->getObject( MassAction::class, [ 'context' => $this->contextMock, 'data' => [] ] ); $this->assertSame(MassAction::NAME, $massAction->getComponentName()); } /** * Run test prepare method * * @param string $componentName * @param array $componentData * @return void * @dataProvider getPrepareDataProvider */ public function testPrepare($componentName, $componentData) { $processor = $this->getMockBuilder(Processor::class) ->disableOriginalConstructor() ->getMock(); $this->contextMock->expects($this->atLeastOnce())->method('getProcessor')->willReturn($processor); /** @var \Magento\Ui\Component\Action $action */ $action = $this->objectManager->getObject( MassAction::class, [ 'context' => $this->contextMock, 'data' => [ 'name' => $componentName, 'config' => $componentData, ] ] ); /** @var MassAction $massAction */ $massAction = $this->objectManager->getObject( MassAction::class, [ 'context' => $this->contextMock, 'data' => [] ] ); $massAction->addComponent('action', $action); $massAction->prepare(); $this->assertEquals(['actions' => [$action->getConfiguration()]], $massAction->getConfiguration()); } /** * @return array */ public function getPrepareDataProvider() { return [ [ 'test_component1', [ 'type' => 'first_action', 'label' => 'First Action', 'url' => '/module/controller/firstAction', ], ], [ 'test_component2', [ 'type' => 'second_action', 'label' => 'Second Action', 'actions' => [ [ 'type' => 'second_sub_action1', 'label' => 'Second Sub Action 1', 'url' => '/module/controller/secondSubAction1' ], [ 'type' => 'second_sub_action2', 'label' => 'Second Sub Action 2', 'url' => '/module/controller/secondSubAction2' ], ], ], ], ]; } }