12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Config\Model;
- use Magento\TestFramework\Helper\Bootstrap;
- /**
- * @magentoAppArea adminhtml
- */
- class ConfigTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @covers \Magento\Config\Model\Config::save
- * @param array $groups
- * @magentoDbIsolation enabled
- * @dataProvider saveWithSingleStoreModeEnabledDataProvider
- * @magentoConfigFixture current_store general/single_store_mode/enabled 1
- */
- public function testSaveWithSingleStoreModeEnabled($groups)
- {
- Bootstrap::getObjectManager()->get(
- \Magento\Framework\Config\ScopeInterface::class
- )->setCurrentScope(
- \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE
- );
- /** @var $_configDataObject \Magento\Config\Model\Config */
- $_configDataObject = Bootstrap::getObjectManager()->create(\Magento\Config\Model\Config::class);
- $_configData = $_configDataObject->setSection('dev')->setWebsite('base')->load();
- $this->assertEmpty($_configData);
- $_configDataObject = Bootstrap::getObjectManager()->create(\Magento\Config\Model\Config::class);
- $_configDataObject->setSection('dev')->setGroups($groups)->save();
- /** @var $_configDataObject \Magento\Config\Model\Config */
- $_configDataObject = Bootstrap::getObjectManager()->create(\Magento\Config\Model\Config::class);
- $_configData = $_configDataObject->setSection('dev')->load();
- $this->assertArrayHasKey('dev/debug/template_hints_admin', $_configData);
- $this->assertArrayHasKey('dev/debug/template_hints_blocks', $_configData);
- $_configDataObject = Bootstrap::getObjectManager()->create(\Magento\Config\Model\Config::class);
- $_configData = $_configDataObject->setSection('dev')->setWebsite('base')->load();
- $this->assertArrayNotHasKey('dev/debug/template_hints_admin', $_configData);
- $this->assertArrayNotHasKey('dev/debug/template_hints_blocks', $_configData);
- }
- public function saveWithSingleStoreModeEnabledDataProvider()
- {
- return require __DIR__ . '/_files/config_groups.php';
- }
- /**
- * @covers \Magento\Config\Model\Config::save
- * @param string $section
- * @param array $groups
- * @param array $expected
- * @magentoDbIsolation enabled
- * @dataProvider saveDataProvider
- */
- public function testSave($section, $groups, $expected)
- {
- $objectManager = Bootstrap::getObjectManager();
- /** @var $_configDataObject \Magento\Config\Model\Config */
- $_configDataObject = $objectManager->create(\Magento\Config\Model\Config::class);
- $_configDataObject->setSection($section)->setWebsite('base')->setGroups($groups)->save();
- foreach ($expected as $group => $expectedData) {
- $_configDataObject = $objectManager->create(\Magento\Config\Model\Config::class);
- $_configData = $_configDataObject->setSection($group)->setWebsite('base')->load();
- if (array_key_exists('payment/payflow_link/pwd', $_configData)) {
- $_configData['payment/payflow_link/pwd'] = $objectManager->get(
- \Magento\Framework\Encryption\EncryptorInterface::class
- )->decrypt(
- $_configData['payment/payflow_link/pwd']
- );
- }
- $this->assertEquals($expectedData, $_configData);
- }
- }
- public function saveDataProvider()
- {
- return require __DIR__ . '/_files/config_section.php';
- }
- }
|