![]() 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/dev/tests/integration/testsuite/Magento/Backend/Block/System/Store/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Backend\Block\System\Store; /** * @magentoAppArea adminhtml */ class EditTest extends \PHPUnit\Framework\TestCase { protected function tearDown(): void { /** @var $objectManager \Magento\TestFramework\ObjectManager */ $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); $objectManager->get(\Magento\Framework\Registry::class)->unregister('store_type'); $objectManager->get(\Magento\Framework\Registry::class)->unregister('store_data'); $objectManager->get(\Magento\Framework\Registry::class)->unregister('store_action'); } /** * @param $registryData */ protected function _initStoreTypesInRegistry($registryData) { /** @var $objectManager \Magento\TestFramework\ObjectManager */ $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); foreach ($registryData as $key => $value) { if ($key == 'store_data') { $value = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create($value); } $objectManager->get(\Magento\Framework\Registry::class)->register($key, $value); } } /** * @magentoAppIsolation enabled * @param $registryData * @param $expected * @dataProvider getStoreTypesForLayout */ public function testStoreTypeFormCreated($registryData, $expected) { $this->_initStoreTypesInRegistry($registryData); /** @var $layout \Magento\Framework\View\Layout */ $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Framework\View\LayoutInterface::class ); /** @var $block \Magento\Backend\Block\System\Store\Edit */ $block = $layout->createBlock(\Magento\Backend\Block\System\Store\Edit::class, 'block'); $block->setArea(\Magento\Backend\App\Area\FrontNameResolver::AREA_CODE); $this->assertInstanceOf($expected, $block->getChildBlock('form')); } /** * @return array */ public function getStoreTypesForLayout() { return [ [ ['store_type' => 'website', 'store_data' => \Magento\Store\Model\Website::class], \Magento\Backend\Block\System\Store\Edit\Form\Website::class, ], [ ['store_type' => 'group', 'store_data' => \Magento\Store\Model\Store::class], \Magento\Backend\Block\System\Store\Edit\Form\Group::class ], [ ['store_type' => 'store', 'store_data' => \Magento\Store\Model\Store::class], \Magento\Backend\Block\System\Store\Edit\Form\Store::class ] ]; } /** * @magentoAppIsolation enabled * @param $registryData * @param $expected * @dataProvider getStoreDataForBlock */ public function testGetHeaderText($registryData, $expected) { $this->_initStoreTypesInRegistry($registryData); /** @var $layout \Magento\Framework\View\Layout */ $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Framework\View\LayoutInterface::class ); /** @var $block \Magento\Backend\Block\System\Store\Edit */ $block = $layout->createBlock(\Magento\Backend\Block\System\Store\Edit::class, 'block'); $block->setArea(\Magento\Backend\App\Area\FrontNameResolver::AREA_CODE); $this->assertEquals($expected, $block->getHeaderText()); } /** * @return array */ public function getStoreDataForBlock() { return [ [ [ 'store_type' => 'website', 'store_data' => \Magento\Store\Model\Website::class, 'store_action' => 'add', ], 'New Web Site', ], [ [ 'store_type' => 'website', 'store_data' => \Magento\Store\Model\Website::class, 'store_action' => 'edit', ], 'Edit Web Site' ], [ ['store_type' => 'group', 'store_data' => \Magento\Store\Model\Store::class, 'store_action' => 'add'], 'New Store' ], [ ['store_type' => 'group', 'store_data' => \Magento\Store\Model\Store::class, 'store_action' => 'edit'], 'Edit Store' ], [ ['store_type' => 'store', 'store_data' => \Magento\Store\Model\Store::class, 'store_action' => 'add'], 'New Store View' ], [ ['store_type' => 'store', 'store_data' => \Magento\Store\Model\Store::class, 'store_action' => 'edit'], 'Edit Store View' ] ]; } }