12 use Magento\Framework\Config\Composer\PackageFactory;
    33     public function testPackagesFromComposerSuggest(
    34         array $moduleDirectories,
    35         callable $composerJsonGenerator,
    36         array $suggestionsFromLockFile,
    37         array $expectedPackages
    40         $composerInformation = $this->getMockBuilder(ComposerInformation::class)
    41             ->disableOriginalConstructor()
    43         $composerInformation->method(
'getSuggestedPackages')
    44             ->willReturn($suggestionsFromLockFile);
    47         $filesystem = $this->getMockBuilder(Filesystem::class)->disableOriginalConstructor()->getMock();
    50         $packageFactory = $this->getMockBuilder(PackageFactory::class)
    51             ->disableOriginalConstructor()
    52             ->setMethods([
'create'])
    54         $packageFactory->method(
'create')
    55             ->willReturnCallback(
function ($args) {
    56                 return new Package($args[
'json']);
    61             ->getMockForAbstractClass();
    68         $directoryReadFactory = $this->getMockBuilder(
Filesystem\Directory\ReadFactory::class)
    69             ->disableOriginalConstructor()
    70             ->setMethods([
'create'])
    72         $directoryReadFactory->method(
'create')
    73             ->willReturnMap($composerJsonGenerator($this));
    82         $this->assertEquals($expectedPackages, $dependency->getSampleDataPackages());
    92                 'moduleDirectories' => [
    93                     'app/code/LocalModule',
    94                     'app/code/LocalModuleWithoutComposerJson',
    95                     'vendor/company/module',
    96                     'vendor/company2/module/src'   101                             'app/code/LocalModule',
   103                             $test->stubComposerJsonReader(
   105                                     'name' => 
'local/module',
   113                             'app/code/LocalModuleWithoutComposerJson',
   115                             $test->stubFileNotFoundReader()
   118                             'vendor/company/module',
   120                             $test->stubComposerJsonReader(
   122                                     'name' => 
'company/module',
   130                             'vendor/company2/module/src/..',
   132                             $test->stubComposerJsonReader(
   134                                     'name' => 
'company2/module',
   142                             'vendor/company2/module/src',
   144                             $test->stubFileNotFoundReader()
   147                             'vendor/company/module/..',
   149                             $test->stubFileNotFoundReader()
   152                             'app/code/LocalModuleWithoutComposerJson/..',
   154                             $test->stubFileNotFoundReader()
   157                             'app/code/LocalModule/..',
   159                             $test->stubFileNotFoundReader()
   166                     'thirdparty/something-else' => 
'Just a suggested package',
   168                 'expectedPackages' => [
   169                     'magento/foo-sample-data' => 
'100.0.0',
   170                     'thirdparty/bar-sample-data' => 
'1.2.3',
   171                     'local/module-sample-data' => 
'0.1.0',
   172                     'company/module-sample-data' => 
'1.0.0-beta',
   173                     'company2/module-sample-data' => 
'1.10',
   185         $stub = $this->getMockBuilder(
Filesystem\Directory\ReadInterface::class)
   186             ->getMockForAbstractClass();
   187         $stub->method(
'isExist')
   188             ->with(
'composer.json')
   190         $stub->method(
'isReadable')
   191             ->with(
'composer.json')
   193         $stub->method(
'readFile')
   194             ->with(
'composer.json')
   195             ->willReturn(json_encode($composerJsonContent));
   204         $stub = $this->getMockBuilder(
Filesystem\Directory\ReadInterface::class)
   205             ->getMockForAbstractClass();
   206         $stub->method(
'isExist')
   207             ->with(
'composer.json')
   209         $stub->method(
'readFile')
   210             ->with(
'composer.json')
 
const SAMPLE_DATA_SUGGEST
 
static dataPackagesFromComposerSuggest()
 
stubComposerJsonReader(array $composerJsonContent)