Skip to content

Commit 27972ac

Browse files
author
Oleksandr Karpenko
committed
MAGETWO-44017: Exception appears when user opens scheduled import export without installed imort/export
1 parent ff4ac7c commit 27972ac

File tree

3 files changed

+21
-5
lines changed

3 files changed

+21
-5
lines changed

lib/internal/Magento/Framework/Module/DependencyChecker.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ private function checkDependencyGraph($isEnable, $moduleNames, $enabledModules)
9999
$dependenciesMissing = [];
100100
$paths = $this->graph->findPathsToReachableNodes($moduleName, $graphMode);
101101
$modules = array_merge(
102-
array_keys($this->fullModuleList), $this->packageInfo->getNonExistingDependencies()
102+
array_keys($this->fullModuleList),
103+
$this->packageInfo->getNonExistingDependencies()
103104
);
104105
foreach ($modules as $module) {
105106
if (isset($paths[$module])) {

lib/internal/Magento/Framework/Module/Test/Unit/DependencyCheckerTest.php

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,12 @@ public function setUp()
7070

7171
public function testCheckDependenciesWhenDisableModules()
7272
{
73-
$this->listMock
74-
->expects($this->any())
73+
$this->listMock->expects($this->any())
7574
->method('getNames')
7675
->will($this->returnValue(['A', 'B', 'C', 'D', 'E']));
76+
$this->packageInfoMock->expects($this->atLeastOnce())
77+
->method('getNonExistingDependencies')
78+
->willReturn([]);
7779
$this->checker = new DependencyChecker($this->listMock, $this->loaderMock, $this->packageInfoFactoryMock);
7880

7981
$actual = $this->checker->checkDependenciesWhenDisableModules(['B', 'D']);
@@ -83,6 +85,9 @@ public function testCheckDependenciesWhenDisableModules()
8385

8486
public function testCheckDependenciesWhenDisableModulesWithCurEnabledModules()
8587
{
88+
$this->packageInfoMock->expects($this->atLeastOnce())
89+
->method('getNonExistingDependencies')
90+
->willReturn([]);
8691
$this->checker = new DependencyChecker($this->listMock, $this->loaderMock, $this->packageInfoFactoryMock);
8792

8893
$actual = $this->checker->checkDependenciesWhenDisableModules(['B', 'D'], ['C', 'D', 'E']);
@@ -92,10 +97,12 @@ public function testCheckDependenciesWhenDisableModulesWithCurEnabledModules()
9297

9398
public function testCheckDependenciesWhenEnableModules()
9499
{
95-
$this->listMock
96-
->expects($this->any())
100+
$this->listMock->expects($this->any())
97101
->method('getNames')
98102
->will($this->returnValue(['C']));
103+
$this->packageInfoMock->expects($this->atLeastOnce())
104+
->method('getNonExistingDependencies')
105+
->willReturn([]);
99106
$this->checker = new DependencyChecker($this->listMock, $this->loaderMock, $this->packageInfoFactoryMock);
100107
$actual = $this->checker->checkDependenciesWhenEnableModules(['B', 'D']);
101108
$expected = [
@@ -107,6 +114,9 @@ public function testCheckDependenciesWhenEnableModules()
107114

108115
public function testCheckDependenciesWhenEnableModulesWithCurEnabledModules()
109116
{
117+
$this->packageInfoMock->expects($this->atLeastOnce())
118+
->method('getNonExistingDependencies')
119+
->willReturn([]);
110120
$this->checker = new DependencyChecker($this->listMock, $this->loaderMock, $this->packageInfoFactoryMock);
111121
$actual = $this->checker->checkDependenciesWhenEnableModules(['B', 'D'], ['C']);
112122
$expected = [

lib/internal/Magento/Framework/Module/Test/Unit/PackageInfoTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ public function testGetModuleName()
5757
$this->assertEquals('C', $this->packageInfo->getModuleName('c'));
5858
$this->assertEquals('D', $this->packageInfo->getModuleName('d'));
5959
$this->assertEquals('E', $this->packageInfo->getModuleName('e'));
60+
$this->assertEquals(
61+
'Magento_TestModuleName',
62+
$this->packageInfo->getModuleName('magento/module-test-module-name')
63+
);
64+
$this->assertArrayHasKey('Magento_TestModuleName', $this->packageInfo->getNonExistingDependencies());
6065
}
6166

6267
public function testGetPackageName()

0 commit comments

Comments
 (0)