12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Setup\Console\Command;
- use Magento\Framework\Component\ComponentRegistrar;
- use Symfony\Component\Console\Tester\CommandTester;
- class DependenciesShowModulesCircularCommandTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var DependenciesShowModulesCircularCommand
- */
- private $command;
- /**
- * @var CommandTester
- */
- private $commandTester;
- public function setUp()
- {
- $modules = [
- 'Magento_A' => __DIR__ . '/_files/root/app/code/Magento/A',
- 'Magento_B' => __DIR__ . '/_files/root/app/code/Magento/B'
- ];
- $objectManagerProvider = $this->createMock(\Magento\Setup\Model\ObjectManagerProvider::class);
- $objectManager = $this->createMock(\Magento\Framework\App\ObjectManager::class);
- $objectManagerProvider->expects($this->once())->method('get')->willReturn($objectManager);
- $themePackageListMock = $this->createMock(\Magento\Framework\View\Design\Theme\ThemePackageList::class);
- $componentRegistrarMock = $this->createMock(\Magento\Framework\Component\ComponentRegistrar::class);
- $componentRegistrarMock->expects($this->any())->method('getPaths')->will($this->returnValue($modules));
- $dirSearchMock = $this->createMock(\Magento\Framework\Component\DirSearch::class);
- $objectManager->expects($this->any())->method('get')->will($this->returnValueMap([
- [\Magento\Framework\View\Design\Theme\ThemePackageList::class, $themePackageListMock],
- [\Magento\Framework\Component\ComponentRegistrar::class, $componentRegistrarMock],
- [\Magento\Framework\Component\DirSearch::class, $dirSearchMock]
- ]));
- $this->command = new DependenciesShowModulesCircularCommand($objectManagerProvider);
- $this->commandTester = new CommandTester($this->command);
- }
- public function tearDown()
- {
- if (file_exists(__DIR__ . '/_files/output/circular.csv')) {
- unlink(__DIR__ . '/_files/output/circular.csv');
- }
- }
- public function testExecute()
- {
- $this->commandTester->execute(
- ['--output' => __DIR__ . '/_files/output/circular.csv']
- );
- $this->assertEquals('Report successfully processed.' . PHP_EOL, $this->commandTester->getDisplay());
- $fileContents = file_get_contents(__DIR__ . '/_files/output/circular.csv');
- $this->assertContains(
- '"Circular dependencies:","Total number of chains"' . PHP_EOL . ',2' . PHP_EOL,
- $fileContents
- );
- $this->assertContains('"Circular dependencies for each module:",' . PHP_EOL, $fileContents);
- $this->assertContains(
- 'magento/module-a,1' . PHP_EOL . 'magento/module-a->magento/module-b->magento/module-a' . PHP_EOL,
- $fileContents
- );
- $this->assertContains(
- 'magento/module-b,1' . PHP_EOL . 'magento/module-b->magento/module-a->magento/module-b' . PHP_EOL,
- $fileContents
- );
- }
- }
|