74 lines
2.4 KiB
PHP
Executable File
74 lines
2.4 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
namespace Magento\SampleData\Model;
|
|
|
|
use Magento\Framework\Composer\ComposerInformation;
|
|
use Magento\Framework\Component\ComponentRegistrar;
|
|
use Magento\Framework\Filesystem;
|
|
use Magento\Framework\Config\Composer\PackageFactory;
|
|
|
|
class DependencyTest extends \PHPUnit\Framework\TestCase
|
|
{
|
|
/**
|
|
* @var \Magento\SampleData\Model\Dependency
|
|
*/
|
|
private $model;
|
|
|
|
/**
|
|
* @var ComposerInformation|\PHPUnit\Framework\MockObject\MockObject
|
|
*/
|
|
private $composerInformationMock;
|
|
|
|
/**
|
|
* @var ComponentRegistrar|\PHPUnit\Framework\MockObject\MockObject
|
|
*/
|
|
private $componentRegistrarMock;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
$this->composerInformationMock = $this->getMockBuilder(ComposerInformation::class)
|
|
->disableOriginalConstructor()
|
|
->disableOriginalClone()
|
|
->getMock();
|
|
$this->componentRegistrarMock = $this->getMockBuilder(ComponentRegistrar::class)
|
|
->disableOriginalConstructor()
|
|
->disableOriginalClone()
|
|
->getMock();
|
|
|
|
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
|
|
$this->model = $objectManager->create(
|
|
\Magento\SampleData\Model\Dependency::class,
|
|
[
|
|
'composerInformation' => $this->composerInformationMock,
|
|
'filesystem' => $objectManager->get(Filesystem::class),
|
|
'packageFactory' => $objectManager->get(PackageFactory::class),
|
|
'componentRegistrar' => $this->componentRegistrarMock
|
|
]
|
|
);
|
|
}
|
|
|
|
public function testGetSampleDataPackages()
|
|
{
|
|
$this->composerInformationMock->expects($this->once())
|
|
->method('getSuggestedPackages')
|
|
->willReturn([]);
|
|
$this->componentRegistrarMock->expects($this->once())
|
|
->method('getPaths')
|
|
->with(ComponentRegistrar::MODULE)
|
|
->willReturn([
|
|
__DIR__ . '/../_files/Modules/FirstModule',
|
|
__DIR__ . '/../_files/Modules/SecondModule',
|
|
__DIR__ . '/../_files/Modules/ThirdModule',
|
|
__DIR__ . '/../_files/Modules/FourthModule'
|
|
]);
|
|
|
|
$this->assertSame(
|
|
['magento/module-first-sample-data' => '777.7.*'],
|
|
$this->model->getSampleDataPackages()
|
|
);
|
|
}
|
|
}
|