/**
* Sets up this test case
*
*/
protected function setUp()
{
ComposerUtility::flushCaches();
vfsStream::setup('Test');
$this->mockBootstrap = $this->getMockBuilder(Bootstrap::class)->disableOriginalConstructor()->getMock();
$this->mockBootstrap->expects($this->any())->method('getSignalSlotDispatcher')->will($this->returnValue($this->createMock(Dispatcher::class)));
$this->mockApplicationContext = $this->getMockBuilder(ApplicationContext::class)->disableOriginalConstructor()->getMock();
$this->mockBootstrap->expects($this->any())->method('getContext')->will($this->returnValue($this->mockApplicationContext));
$mockObjectManager = $this->createMock(ObjectManagerInterface::class);
$this->mockBootstrap->expects($this->any())->method('getObjectManager')->will($this->returnValue($mockObjectManager));
$mockReflectionService = $this->createMock(ReflectionService::class);
$mockReflectionService->expects($this->any())->method('getClassNameByObject')->will($this->returnCallback(function ($object) {
if ($object instanceof \Doctrine\ORM\Proxy\Proxy) {
return get_parent_class($object);
}
return get_class($object);
}));
$mockObjectManager->expects($this->any())->method('get')->with(ReflectionService::class)->will($this->returnValue($mockReflectionService));
mkdir('vfs://Test/Packages/Application', 0700, true);
mkdir('vfs://Test/Configuration');
$this->packageManager = new PackageManager('vfs://Test/Configuration/PackageStates.php');
$composerNameToPackageKeyMap = ['neos/flow' => 'Neos.Flow'];
$this->inject($this->packageManager, 'composerNameToPackageKeyMap', $composerNameToPackageKeyMap);
$this->inject($this->packageManager, 'packagesBasePath', 'vfs://Test/Packages/');
$this->mockDispatcher = $this->getMockBuilder(Dispatcher::class)->disableOriginalConstructor()->getMock();
$this->inject($this->packageManager, 'dispatcher', $this->mockDispatcher);
$this->packageManager->initialize($this->mockBootstrap);
}