63 lines
2.0 KiB
PHP
Executable File
63 lines
2.0 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Widget\Model\Config;
|
|
|
|
use Magento\TestFramework\Helper\Bootstrap;
|
|
|
|
class ReaderTest extends \PHPUnit\Framework\TestCase
|
|
{
|
|
/**
|
|
* @var \Magento\Widget\Model\Config\Reader
|
|
*/
|
|
private $model;
|
|
|
|
/**
|
|
* @var \PHPUnit\Framework\MockObject\MockObject
|
|
*/
|
|
private $fileResolver;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
$this->fileResolver = $this->getMockForAbstractClass(\Magento\Framework\Config\FileResolverInterface::class);
|
|
$objectManager = Bootstrap::getObjectManager();
|
|
$this->model = $objectManager->create(
|
|
\Magento\Widget\Model\Config\Reader::class,
|
|
['fileResolver' => $this->fileResolver]
|
|
);
|
|
}
|
|
|
|
public function testRead()
|
|
{
|
|
$this->fileResolver->expects($this->once())
|
|
->method('get')
|
|
->willReturn([file_get_contents(__DIR__ . '/_files/orders_and_returns.xml')]);
|
|
$expected = include __DIR__ . '/_files/expectedGlobalArray.php';
|
|
$this->assertEquals($expected, $this->model->read('global'));
|
|
}
|
|
|
|
public function testReadFile()
|
|
{
|
|
$file = file_get_contents(__DIR__ . '/_files/orders_and_returns.xml');
|
|
$expected = include __DIR__ . '/_files/expectedGlobalArray.php';
|
|
$this->assertEquals($expected, $this->model->readFile($file));
|
|
}
|
|
|
|
public function testMergeCompleteAndPartial()
|
|
{
|
|
$fileList = [
|
|
file_get_contents(__DIR__ . '/_files/catalog_new_products_list.xml'),
|
|
file_get_contents(__DIR__ . '/_files/orders_and_returns_customized.xml'),
|
|
];
|
|
$this->fileResolver->expects($this->once())
|
|
->method('get')
|
|
->with('widget.xml', 'global')
|
|
->willReturn($fileList);
|
|
$expected = include __DIR__ . '/_files/expectedMergedArray.php';
|
|
$this->assertEquals($expected, $this->model->read('global'));
|
|
}
|
|
}
|