8 use \Magento\Framework\Module\DependencyChecker;
20 private $packageInfoMock;
25 private $packageInfoFactoryMock;
39 $this->packageInfoMock = $this->createMock(\
Magento\Framework\Module\PackageInfo::class);
47 $this->packageInfoMock
48 ->expects($this->any())
49 ->method(
'getRequire')
50 ->will($this->returnValueMap($requireMap));
52 $this->packageInfoFactoryMock = $this->createMock(\
Magento\Framework\Module\PackageInfoFactory::class);
53 $this->packageInfoFactoryMock->expects($this->once())
55 ->will($this->returnValue($this->packageInfoMock));
57 $this->listMock = $this->createMock(\
Magento\Framework\Module\ModuleList::class);
58 $this->loaderMock = $this->createMock(\
Magento\Framework\Module\
ModuleList\Loader::class);
60 ->expects($this->any())
62 ->will($this->returnValue([
'A' => [],
'B' => [],
'C' => [],
'D' => [],
'E' => []]));
67 $this->listMock->expects($this->any())
69 ->will($this->returnValue([
'A',
'B',
'C',
'D',
'E']));
70 $this->packageInfoMock->expects($this->atLeastOnce())
71 ->method(
'getNonExistingDependencies')
73 $this->checker =
new DependencyChecker($this->listMock, $this->loaderMock, $this->packageInfoFactoryMock);
75 $actual = $this->checker->checkDependenciesWhenDisableModules([
'B',
'D']);
76 $expected = [
'B' => [
'A' => [
'A',
'B']],
'D' => [
'A' => [
'A',
'B',
'D']]];
77 $this->assertEquals($expected, $actual);
82 $this->packageInfoMock->expects($this->atLeastOnce())
83 ->method(
'getNonExistingDependencies')
85 $this->checker =
new DependencyChecker($this->listMock, $this->loaderMock, $this->packageInfoFactoryMock);
87 $actual = $this->checker->checkDependenciesWhenDisableModules([
'B',
'D'], [
'C',
'D',
'E']);
88 $expected = [
'B' => [],
'D' => []];
89 $this->assertEquals($expected, $actual);
94 $this->listMock->expects($this->any())
96 ->will($this->returnValue([
'C']));
97 $this->packageInfoMock->expects($this->atLeastOnce())
98 ->method(
'getNonExistingDependencies')
100 $this->checker =
new DependencyChecker($this->listMock, $this->loaderMock, $this->packageInfoFactoryMock);
101 $actual = $this->checker->checkDependenciesWhenEnableModules([
'B',
'D']);
103 'B' => [
'A' => [
'B',
'D',
'A'],
'E' => [
'B',
'E']],
104 'D' => [
'A' => [
'D',
'A'],
'E' => [
'D',
'A',
'B',
'E']],
106 $this->assertEquals($expected, $actual);
111 $this->packageInfoMock->expects($this->atLeastOnce())
112 ->method(
'getNonExistingDependencies')
114 $this->checker =
new DependencyChecker($this->listMock, $this->loaderMock, $this->packageInfoFactoryMock);
115 $actual = $this->checker->checkDependenciesWhenEnableModules([
'B',
'D'], [
'C']);
117 'B' => [
'A' => [
'B',
'D',
'A'],
'E' => [
'B',
'E']],
118 'D' => [
'A' => [
'D',
'A'],
'E' => [
'D',
'A',
'B',
'E']],
120 $this->assertEquals($expected, $actual);
testCheckDependenciesWhenEnableModulesWithCurEnabledModules()
testCheckDependenciesWhenDisableModules()
testCheckDependenciesWhenEnableModules()
testCheckDependenciesWhenDisableModulesWithCurEnabledModules()