public function testRunUninstallReadinessCheckWithError()
 {
     $packages = ['verndor/module' => 'magento2-module', 'verndor/theme' => 'magento2-theme', 'verndor/metapackage' => 'metapackage', 'verndor/language' => 'magento2-language'];
     $this->composerInfo->expects($this->once())->method('getRootRequiredPackageTypesByName')->willReturn($packages);
     $this->packageDependencyChecker->expects($this->once())->method('checkDependencies')->with(array_keys($packages))->willReturn([]);
     $this->themeDependencyChecker->expects($this->once())->method('checkChildThemeByPackagesName')->with(['verndor/theme'])->willReturn(['Error message']);
     $result = $this->uninstallDependencyCheck->runUninstallReadinessCheck(array_keys($packages));
     $this->assertEquals(['success' => false, 'error' => 'Error message'], $result);
 }
 /**
  * Verifies component dependency for uninstall
  *
  * @return JsonModel
  */
 public function uninstallDependencyCheckAction()
 {
     $responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS;
     $packages = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
     $packagesToDelete = [];
     foreach ($packages as $package) {
         $packagesToDelete[] = $package['name'];
     }
     $dependencyCheck = $this->uninstallDependencyCheck->runUninstallReadinessCheck($packagesToDelete);
     $data = [];
     if (!$dependencyCheck['success']) {
         $responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR;
         $data['errorMessage'] = $dependencyCheck['error'];
     }
     $data['responseType'] = $responseType;
     return new JsonModel($data);
 }