Skip to content
Snippets Groups Projects
Select Git revision
  • eebdf968eacbf79bdb8793d937071e8e64e3d8fe
  • develop default protected
  • 1.3 protected
  • 1.1
  • 1.2 protected
  • 1.0
  • 13-export-cli-command
  • 1.7.0
  • 1.6.0
  • 1.5.0
  • 1.4.3
  • 1.4.2
  • 1.4.1
  • 1.4.0
  • 1.3.7
  • 1.3.6
  • 1.3.5
  • 1.3.4
  • 1.3.3
  • 1.3.2
  • 1.3.1
  • 1.3.0
  • 1.1.4
  • 1.2.5
  • 1.2.4
  • 1.2.3
  • 1.0.6
27 results

InstallMediaFilesTest.php

Blame
  • InstallMediaFilesTest.php 6.38 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 Firegento\ContentProvisioning\Model\PageInstaller;
    use Magento\TestFramework\Helper\Bootstrap;
    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->getChildDirectoryUrl('pub/media')
            );
    
            $applyMediaFiles = Bootstrap::getObjectManager()
                ->create(
                    ApplyMediaFiles::class,
                    ['targetMediaDirectoryPathProvider' => $this->targetMediaDirectoryPathProvider]
                );
    
            $this->installer = Bootstrap::getObjectManager()
                ->create(
                    PageInstaller::class,