public function testConstructSuccessWithCacheHasData() { $expectedRegisteredModules = (require './tests/config/module_register.result.php'); $expectedModulesAutoload = (require './tests/config/autoload.result.php'); $cacheMock = $this->getMock(CacheInterface::class); $cacheMock->expects($this->once())->method('getRegisteredModules')->will($this->returnValue($expectedRegisteredModules)); $cacheMock->expects($this->never())->method('setRegisteredModules'); $cacheMock->expects($this->once())->method('getAutoloadModulesConfig')->will($this->returnValue($expectedModulesAutoload)); $cacheMock->expects($this->never())->method('setAutoloadModulesConfig'); $moduleNames = ['Application', 'Backend']; $module = new Module($moduleNames, ['./tests/module'], $cacheMock); foreach ($moduleNames as $moduleName) { $this->assertTrue(class_exists("{$moduleName}\\Module")); } $this->assertEquals($expectedRegisteredModules, $module->getRegisteredModules()); $this->assertEquals($expectedModulesAutoload, $module->getModulesAutoloadConfig()); }