/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
setup/src/Magento/Setup/Test/Unit/Fixtures/FixtureConfigTest.php
83 строки
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 11:23
22 окт 2025, 11:23
6c2f6e6
Код
Авторство
О чём код?
<?php /** * Copyright 2017 Adobe * All Rights Reserved. */ declare(strict_types=1); namespace Magento\Setup\Test\Unit\Fixtures; use Magento\Framework\Xml\Parser; use Magento\Setup\Fixtures\FixtureConfig; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class FixtureConfigTest extends TestCase { /** * @var FixtureConfig */ private $model; /** * @var MockObject */ private $fileParserMock; protected function setUp(): void { $this->fileParserMock = $this->createPartialMock(Parser::class, ['getDom', 'xmlToArray']); $this->model = new FixtureConfig($this->fileParserMock); } public function testLoadConfigException() { $this->expectException('Exception'); $this->expectExceptionMessage( 'Profile configuration file `exception.file` is not readable or does not exists.' ); $this->model->loadConfig('exception.file'); } public function testLoadConfig() { $this->fileParserMock->expects($this->any())->method('xmlToArray')->willReturn( ['config' => [ 'profile' => ['some_key' => 'some_value']]] ); $domMock = $this->createPartialMock(\DOMDocument::class, ['load', 'xinclude']); $domMock->expects($this->once())->method('load')->with('config.file')->willReturn( false ); $domMock->expects($this->once())->method('xinclude'); $this->fileParserMock->expects($this->exactly(2))->method('getDom')->willReturn($domMock); $this->model->loadConfig('config.file'); $this->assertSame('some_value', $this->model->getValue('some_key')); } public function testGetValue() { $this->assertNull($this->model->getValue('null_key')); } } namespace Magento\Setup\Fixtures; /** * Overriding the built-in PHP function since it cannot be mocked-> * * The method is used in FixtureModel. loadConfig in an if statement. By overriding this method we are able to test * both of the possible cases based on the return value of is_readable. * * @param string $filename * @return bool */ function is_readable($filename) { if (strpos($filename, 'exception') !== false) { return false; } return true; }