/** * Get the Configurationbuilder for the real list * * @throws Exception * @return Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder */ protected function getConfigurationBuilderForRealList() { $configurationBuilder = $this->configurationBuilderFactory->getInstance($this->proxyListIdentifier); if ($configurationBuilder->getListIdentifier() != $this->proxyListIdentifier) { throw new Exception('Tried to get configurationBuilder for listIdentifier ' . $this->proxyListIdentifier . ', but got ' . $configurationBuilder->getListIdentifier()); } return $configurationBuilder; }
/** * Returns a data backend factory for given TS settings and list identifier. If no list identifier is given, * list identifier is taken from $settings['listIdentifier']. * * @param array $typoScriptSettingsForListIdentifier The settings array as we get it from configurationManager ATTENTION: This is not the settings array for the list identifier!!! * @param string $listIdentifier * @return Tx_PtExtlist_Domain_DataBackend_DataBackendFactory * @throws Exception if no list identifier can be determined */ public function getDataBackendFactoryMock($typoScriptSettingsForListIdentifier, $listIdentifier = NULL) { if (!$listIdentifier) { $listIdentifier = $typoScriptSettingsForListIdentifier['listIdentifier']; } if (!$listIdentifier) { throw new Exception('No list identifier was given and no list identifier could be found in given TS settings. 1363856864'); } $configurationManagerMock = $this->getMock('\\TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager', array('getConfiguration'), array(), '', FALSE); $configurationManagerMock->expects($this->any())->method('getConfiguration')->will($this->returnValue($typoScriptSettingsForListIdentifier)); /* @var $configurationManagerMock \TYPO3\CMS\Extbase\Configuration\ConfigurationManager */ $configurationBuilderInstancesContainer = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderInstancesContainer(); $configurationBuilderFactory = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory(); $configurationBuilderFactory->injectConfigurationManager($configurationManagerMock); $configurationBuilderFactory->setSettings($typoScriptSettingsForListIdentifier); $configurationBuilderFactory->injectConfigurationBuilderInstancesContainer($configurationBuilderInstancesContainer); $configurationBuilderFactory->getInstance($listIdentifier); $instancesContainer = GeneralUtility::makeInstance('Tx_PtExtlist_Domain_DataBackend_DataBackendInstancesContainer'); /* @var $instancesContainer Tx_PtExtlist_Domain_DataBackend_DataBackendInstancesContainer */ $objectManagerMock = $this->getMock('\\TYPO3\\CMS\\Extbase\\Object\\ObjectManager', array('get'), array(), '', FALSE); $objectManagerMock->expects($this->any())->method('get')->with('Tx_PtExtlist_Domain_DataBackend_Typo3DataBackend_Typo3DataBackend', $configurationBuilderFactory->getInstance($listIdentifier))->will($this->returnValue(new Tx_PtExtlist_Domain_DataBackend_Typo3DataBackend_Typo3DataBackend($configurationBuilderFactory->getInstance($listIdentifier)))); /* @var $objectManagerMock \TYPO3\CMS\Extbase\Object\ObjectManager */ $dataBackendFactory = new Tx_PtExtlist_Domain_DataBackend_DataBackendFactory(); $dataBackendFactory->injectObjectManager($objectManagerMock); $dataBackendFactory->injectConfigurationBuilderFactory($configurationBuilderFactory); $dataBackendFactory->injectInstancesContainer($instancesContainer); $dataBackendFactory->injectMapperFactory($this->objectManager->get('Tx_PtExtlist_Domain_DataBackend_Mapper_MapperFactory')); $dataBackendFactory->injectFilterboxCollectionFactory($this->objectManager->get('Tx_PtExtlist_Domain_Model_Filter_FilterboxCollectionFactory')); $dataBackendFactory->injectPagerCollectionFactory($this->objectManager->get('Tx_PtExtlist_Domain_Model_Pager_PagerCollectionFactory')); $dataBackendFactory->injectSorterFactory($this->objectManager->get('Tx_PtExtlist_Domain_Model_Sorting_SorterFactory')); return $dataBackendFactory; }
/** * @return Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder * @throws Exception */ protected function buildConfigurationBuilder() { $this->configurationBuilder = $this->configurationBuilderFactory->getInstance($this->listIdentifier, $this->resetConfigurationBuilder); }
private function buildDataBackendForListIdentifier($listIdentifier) { $configurationBuilderForListIdentifier = $this->configurationBuilderFactory->getInstance($listIdentifier); $this->buildDataBackendForConfigurationBuilder($configurationBuilderForListIdentifier); }
/** @test */ public function getInstanceReturnsSingletonInstanceForSameListIdentifier() { $configurationBuilderFactory = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory(); $configurationManagerMock = $this->getMock('\\TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager', array('getConfiguration'), array(), '', false); $configurationManagerMock->expects($this->any())->method('getConfiguration')->will($this->returnValue($this->settings)); /* @var $configurationManagerMock \TYPO3\CMS\Extbase\Configuration\ConfigurationManager */ $configurationBuilderFactory->injectConfigurationManager($configurationManagerMock); $configurationBuilderInstancesContainer = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderInstancesContainer(); $configurationBuilderFactory->injectConfigurationBuilderInstancesContainer($configurationBuilderInstancesContainer); $firstInstance = $configurationBuilderFactory->getInstance('test'); $secondInstance = $configurationBuilderFactory->getInstance('test'); $this->assertTrue($firstInstance === $secondInstance); }