16 private $uninstallDependencyCheck;
21 private $composerInfo;
26 private $packageDependencyChecker;
31 private $themeDependencyChecker;
36 private $themeDependencyCheckerFactory;
40 $this->composerInfo = $this->createMock(\
Magento\Framework\Composer\ComposerInformation::class);
41 $this->packageDependencyChecker = $this->createMock(\
Magento\Framework\Composer\DependencyChecker::class);
42 $this->themeDependencyChecker = $this->createMock(\
Magento\Theme\Model\Theme\ThemeDependencyChecker::class);
43 $this->themeDependencyCheckerFactory =
44 $this->createMock(\
Magento\
Setup\Model\ThemeDependencyCheckerFactory::class);
45 $this->themeDependencyCheckerFactory->expects($this->any())->method(
'create')
46 ->willReturn($this->themeDependencyChecker);
49 $this->packageDependencyChecker,
50 $this->themeDependencyCheckerFactory
57 'verndor/module' =>
'magento2-module',
58 'verndor/theme' =>
'magento2-theme',
59 'verndor/metapackage' =>
'metapackage',
60 'verndor/language' =>
'magento2-language',
63 $this->composerInfo->expects($this->once())->method(
'getRootRequiredPackageTypesByName')->willReturn($packages);
64 $this->packageDependencyChecker->expects($this->once())
65 ->method(
'checkDependencies')
66 ->with(array_keys($packages))
69 $this->themeDependencyChecker->expects($this->once())
70 ->method(
'checkChildThemeByPackagesName')
71 ->with([
'verndor/theme'])
74 $result = $this->uninstallDependencyCheck->runUninstallReadinessCheck(array_keys($packages));
75 $this->assertEquals([
'success' =>
true],
$result);
81 'verndor/module' =>
'magento2-module',
82 'verndor/theme' =>
'magento2-theme',
83 'verndor/metapackage' =>
'metapackage',
84 'verndor/language' =>
'magento2-language',
87 $this->composerInfo->expects($this->once())->method(
'getRootRequiredPackageTypesByName')->willReturn($packages);
88 $this->packageDependencyChecker->expects($this->once())
89 ->method(
'checkDependencies')
90 ->with(array_keys($packages))
93 $this->themeDependencyChecker->expects($this->once())
94 ->method(
'checkChildThemeByPackagesName')
95 ->with([
'verndor/theme'])
96 ->willReturn([
'Error message']);
98 $result = $this->uninstallDependencyCheck->runUninstallReadinessCheck(array_keys($packages));
99 $this->assertEquals([
'success' =>
false,
'error' =>
'Error message'],
$result);
testRunUninstallReadinessCheck()
testRunUninstallReadinessCheckWithError()