Select Git revision
BlockEntryInterface.php
InstallMediaFilesTest.php 5.59 KiB
<?php
declare(strict_types=1);
namespace Firegento\ContentProvisioning\Test\Integration\Model\PageInstaller;
use Firegento\ContentProvisioning\Api\Data\PageEntryInterface;
use Firegento\ContentProvisioning\Api\TargetMediaDirectoryPathProviderInterface;
use Firegento\ContentProvisioning\Model\Command\ApplyMediaFiles;
use Magento\TestFramework\Helper\Bootstrap;
use Firegento\ContentProvisioning\Model\PageInstaller;
use org\bovigo\vfs\vfsStream;
use org\bovigo\vfs\vfsStreamDirectory;
use PHPUnit\Framework\MockObject\MockObject;
class InstallMediaFilesTest extends TestCase
{
/**
* @var TargetMediaDirectoryPathProviderInterface|MockObject
*/
protected $targetMediaDirectoryPathProvider;
/**
* @var vfsStreamDirectory
*/
protected $fileSystem;
protected function setUp(): void
{
parent::setUp();
$this->targetMediaDirectoryPathProvider = self::getMockBuilder(TargetMediaDirectoryPathProviderInterface::class)
->disableOriginalConstructor()
->getMock();
$structure = [
'source' => [
'media' => [
'file-1.png' => 'some value',
'file-2.txt' => 'some value',
'not-used.png' => 'some value',
'sub-directory' => [
'file-3.jpg' => 'some value'
],
'existing' => [
'file-4.gif' => 'some value'
]
]
],
'pub' => [
'media' => [
'existing' => []
]
],
];
$this->fileSystem = vfsStream::setup('root', null, $structure);
$this->targetMediaDirectoryPathProvider->method('get')->willReturn(
$this->fileSystem->getChild('pub/media')->url()
);
$applyMediaFiles = Bootstrap::getObjectManager()
->create(ApplyMediaFiles::class, [
'targetMediaDirectoryPathProvider' => $this->targetMediaDirectoryPathProvider,
]);
$this->installer = Bootstrap::getObjectManager()
->create(PageInstaller::class, [
'getAllPageEntries' => $this->getPageEntryListMock,
'applyMediaFiles' => $applyMediaFiles