/** * Prepare mocks for update modules tests and returns the installer to use * * @return Installer */ private function prepareForUpdateModulesTests() { $allModules = ['Foo_One' => [], 'Bar_Two' => [], 'New_Module' => []]; $cacheManager = $this->getMock('Magento\\Framework\\App\\Cache\\Manager', [], [], '', false); $cacheManager->expects($this->once())->method('getAvailableTypes')->willReturn(['foo', 'bar']); $cacheManager->expects($this->once())->method('clean'); $this->objectManager->expects($this->any())->method('get')->will($this->returnValueMap([['Magento\\Framework\\App\\Cache\\Manager', $cacheManager]])); $this->moduleLoader->expects($this->once())->method('load')->willReturn($allModules); $expectedModules = [ConfigFilePool::APP_CONFIG => ['modules' => ['Bar_Two' => 0, 'Foo_One' => 1, 'New_Module' => 1]]]; $this->config->expects($this->atLeastOnce())->method('isAvailable')->willReturn(true); $newObject = $this->createObject(false, false); $this->configReader->expects($this->once())->method('load')->willReturn(['modules' => ['Bar_Two' => 0, 'Foo_One' => 1, 'Old_Module' => 0]]); $this->configWriter->expects($this->once())->method('saveConfig')->with($expectedModules); return $newObject; }
public function testUpdateModulesSequence() { $varDir = $this->getMockForAbstractClass('Magento\\Framework\\Filesystem\\Directory\\WriteInterface'); $varDir->expects($this->exactly(2))->method('getAbsolutePath')->willReturn('/var'); $this->filesystem->expects($this->exactly(2))->method('getDirectoryWrite')->willReturn($varDir); $allModules = ['Foo_One' => [], 'Bar_Two' => [], 'New_Module' => []]; $this->moduleLoader->expects($this->once())->method('load')->willReturn($allModules); $expectedModules = ['Bar_Two' => 0, 'Foo_One' => 1, 'New_Module' => 1]; $this->config->expects($this->atLeastOnce())->method('isAvailable')->willReturn(true); $this->deploymentConfigFactory->expects($this->once())->method('create')->with($expectedModules)->willReturn($this->deploymentConfig); $newObject = $this->createObject(false, false); $this->configReader->expects($this->once())->method('load')->willReturn(['modules' => ['Bar_Two' => 0, 'Foo_One' => 1, 'Old_Module' => 0]]); $this->configWriter->expects($this->once())->method('update')->with($this->deploymentConfig); $this->logger->expects($this->at(0))->method('log')->with('File system cleanup:'); $this->logger->expects($this->at(1))->method('log')->with('The directory \'/var\' doesn\'t exist - skipping cleanup'); $this->logger->expects($this->at(3))->method('log')->with('Updating modules:'); $newObject->updateModulesSequence(); }
public function testUpdateModulesSequence() { $allModules = ['Foo_One' => [], 'Bar_Two' => [], 'New_Module' => []]; $this->cleanupFiles->expects($this->once())->method('clearCodeGeneratedClasses')->will($this->returnValue(["The directory '/generation' doesn't exist - skipping cleanup"])); $cache = $this->getMock('Magento\\Framework\\App\\Cache', [], [], '', false); $cache->expects($this->once())->method('clean'); $this->objectManager->expects($this->once())->method('create')->will($this->returnValueMap([['Magento\\Framework\\App\\Cache', [], $cache]])); $this->moduleLoader->expects($this->once())->method('load')->willReturn($allModules); $expectedModules = [ConfigFilePool::APP_CONFIG => ['modules' => ['Bar_Two' => 0, 'Foo_One' => 1, 'New_Module' => 1]]]; $this->config->expects($this->atLeastOnce())->method('isAvailable')->willReturn(true); $newObject = $this->createObject(false, false); $this->configReader->expects($this->once())->method('load')->willReturn(['modules' => ['Bar_Two' => 0, 'Foo_One' => 1, 'Old_Module' => 0]]); $this->configWriter->expects($this->once())->method('saveConfig')->with($expectedModules); $this->logger->expects($this->at(0))->method('log')->with('Cache cleared successfully'); $this->logger->expects($this->at(1))->method('log')->with('File system cleanup:'); $this->logger->expects($this->at(2))->method('log')->with('The directory \'/generation\' doesn\'t exist - skipping cleanup'); $this->logger->expects($this->at(3))->method('log')->with('Updating modules:'); $newObject->updateModulesSequence(); }
public function testUninstall() { $this->config->expects($this->once())->method('isAvailable')->willReturn(false); $this->configReader->expects($this->once())->method('getFiles')->willReturn(['ConfigOne.php', 'ConfigTwo.php']); $configDir = $this->getMockForAbstractClass('Magento\Framework\Filesystem\Directory\WriteInterface'); $configDir ->expects($this->exactly(2)) ->method('getAbsolutePath') ->will( $this->returnValueMap( [ ['ConfigOne.php', '/config/ConfigOne.php'], ['ConfigTwo.php', '/config/ConfigTwo.php'] ] ) ); $this->filesystem ->expects($this->any()) ->method('getDirectoryWrite') ->will($this->returnValueMap([ [DirectoryList::CONFIG, DriverPool::FILE, $configDir], ])); $this->logger->expects($this->at(0))->method('log')->with('Starting Magento uninstallation:'); $this->logger ->expects($this->at(1)) ->method('log') ->with('No database connection defined - skipping database cleanup'); $cache = $this->getMock('Magento\Framework\App\Cache', [], [], '', false); $cache->expects($this->once())->method('clean'); $this->objectManager->expects($this->once()) ->method('create') ->will($this->returnValueMap([ ['Magento\Framework\App\Cache', [], $cache], ])); $this->logger->expects($this->at(2))->method('log')->with('Cache cleared successfully'); $this->logger->expects($this->at(3))->method('log')->with('File system cleanup:'); $this->logger ->expects($this->at(4)) ->method('log') ->with("The directory '/var' doesn't exist - skipping cleanup"); $this->logger ->expects($this->at(5)) ->method('log') ->with("The directory '/static' doesn't exist - skipping cleanup"); $this->logger ->expects($this->at(6)) ->method('log') ->with("The file '/config/ConfigOne.php' doesn't exist - skipping cleanup"); $this->logger ->expects($this->at(7)) ->method('log') ->with("The file '/config/ConfigTwo.php' doesn't exist - skipping cleanup"); $this->logger->expects($this->once())->method('logSuccess')->with('Magento uninstallation complete.'); $this->cleanupFiles->expects($this->once())->method('clearAllFiles')->will( $this->returnValue( [ "The directory '/var' doesn't exist - skipping cleanup", "The directory '/static' doesn't exist - skipping cleanup" ] ) ); $this->object->uninstall(); }