Skip to content

Commit a8b5c8c

Browse files
author
Olga Kopylova
committed
Merge remote-tracking branch 'origin/MAGETWO-38994-Eliminate-code-duplication-ComposerInformation' into PR_Branch
2 parents 1292309 + be66752 commit a8b5c8c

File tree

16 files changed

+69
-173
lines changed

16 files changed

+69
-173
lines changed

app/code/Magento/Translation/Console/Command/UninstallLanguageCommand.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
/**
2121
* Command for uninstalling language and backup-code feature
22+
*
23+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
2224
*/
2325
class UninstallLanguageCommand extends Command
2426
{
@@ -151,7 +153,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
151153
*/
152154
private function validate($package)
153155
{
154-
$installedPackages = $this->composerInfo->getRootRequiredPackagesAndTypes();
156+
$installedPackages = $this->composerInfo->getRootRequiredPackageTypesByName();
155157

156158
if (isset($installedPackages[$package]) && $installedPackages[$package] === 'magento2-language') {
157159
return true;

app/code/Magento/Translation/Test/Unit/Console/Command/UninstallLanguageCommandTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public function testExecute()
9393
->willReturn($dependencies);
9494

9595
$this->composerInfo->expects($this->once())
96-
->method('getRootRequiredPackagesAndTypes')
96+
->method('getRootRequiredPackageTypesByName')
9797
->willReturn(
9898
[
9999
'vendor/language-ua_ua' => 'magento2-language'
@@ -123,7 +123,7 @@ public function testExecuteNoBackupOption()
123123
->willReturn($dependencies);
124124

125125
$this->composerInfo->expects($this->once())
126-
->method('getRootRequiredPackagesAndTypes')
126+
->method('getRootRequiredPackageTypesByName')
127127
->willReturn(
128128
[
129129
'vendor/language-ua_ua' => 'magento2-language'
@@ -148,7 +148,7 @@ public function testExecutePackageHasDependency()
148148
->willReturn($dependencies);
149149

150150
$this->composerInfo->expects($this->once())
151-
->method('getRootRequiredPackagesAndTypes')
151+
->method('getRootRequiredPackageTypesByName')
152152
->willReturn(
153153
[
154154
'vendor/language-ua_ua' => 'magento2-language'
@@ -178,7 +178,7 @@ public function testExecutePackageNoLanguage()
178178
->willReturn($dependencies);
179179

180180
$this->composerInfo->expects($this->once())
181-
->method('getRootRequiredPackagesAndTypes')
181+
->method('getRootRequiredPackageTypesByName')
182182
->willReturn(
183183
[
184184
'vendor/language-ua_ua' => 'library'

dev/tests/integration/testsuite/Magento/Setup/Model/ComposerInformationTest.php renamed to dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
* See COPYING.txt for license details.
55
*/
66

7-
namespace Magento\Setup\Model;
7+
namespace Magento\Framework\Composer;
88

99
/**
10-
* Tests Magento\Setup\Model\ComposerInformation
10+
* Tests Magento\Framework\ComposerInformation
1111
*/
1212
class ComposerInformationTest extends \PHPUnit_Framework_TestCase
1313
{
@@ -84,6 +84,22 @@ public function testGetRequiredExtensions($composerDir)
8484
}
8585
}
8686

87+
/**
88+
* @param $composerDir string Directory under _files that contains composer files
89+
*
90+
* @dataProvider getRequiredPhpVersionDataProvider
91+
*/
92+
public function testGetRootRequiredPackagesAndTypes($composerDir)
93+
{
94+
$this->setupDirectoryMock($composerDir);
95+
$composerInfo = new ComposerInformation($this->filesystemMock, $this->ioMock);
96+
97+
$requiredPackagesAndTypes = $composerInfo->getRootRequiredPackageTypesByName();
98+
99+
$this->assertArrayHasKey('composer/composer', $requiredPackagesAndTypes);
100+
$this->assertEquals('library', $requiredPackagesAndTypes['composer/composer']);
101+
}
102+
87103
/**
88104
* Data provider that returns directories containing different types of composer files.
89105
*

0 commit comments

Comments
 (0)