protected function builddataBackendMock()
 {
     $this->testListData = new Tx_PtExtlist_Domain_Model_List_ListData();
     foreach ($this->testData as $data) {
         $row = new Tx_PtExtlist_Domain_Model_List_Row();
         $row->createAndAddCell($data / 10, 'field1');
         $row->createAndAddCell($data, 'field2');
         $row->createAndAddCell($data * 10, 'field3');
         $this->testListData->addRow($row);
     }
     $this->dataBackendMock = $this->getMock('Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend', array('getListData', 'getAggregatesByConfigCollection'), array(), '', false);
     $this->dataBackendMock->expects($this->any())->method('getListData')->will($this->returnValue($this->testListData));
     $this->dataBackendMock->expects($this->any())->method('getAggregatesByConfigCollection')->will($this->returnValue(array('avgField2' => 5)));
 }
 /** @test */
 public function testGetMultiple()
 {
     $selectFilter = $this->objectManager->get('Tx_PtExtlist_Domain_Model_Filter_SelectFilter');
     /* @var $selectFilter Tx_PtExtlist_Domain_Model_Filter_SelectFilter */
     $selectFilter->_injectGpVarsAdapter(new Tx_PtExtbase_State_GpVars_GpVarsAdapter('pt_extlist'));
     $filterConfiguration = new Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig($this->configurationBuilderMock, array('filterIdentifier' => 'test', 'filterClassName' => 'Tx_PtExtlist_Domain_Model_Filter_SelectFilter', 'partialPath' => 'Filter/SelectFilter', 'fieldIdentifier' => 'field1', 'filterField' => 'field2', 'displayFields' => 'field1', 'excludeFilters' => 'filterbox1.filter1', 'multiple' => 1), 'test');
     $selectFilter->_injectFilterConfig($filterConfiguration);
     $sessionManagerMock = $this->getMock('Tx_PtExtbase_State_Session_SessionPersistenceManager', array(), array(), '', FALSE);
     $dataBackendMock = new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend($this->configurationBuilderMock);
     $dataBackendMock->_injectFieldConfigurationCollection($this->configurationBuilderMock->buildFieldsConfiguration());
     $selectFilter->_injectDataBackend($dataBackendMock);
     $selectFilter->init();
     $this->assertEquals(1, $selectFilter->getMultiple());
 }
 /**
  * Utility Methods
  *
  * @param array $filterSettings
  * @return Tx_PtExtlist_Domain_Model_Filter_AbstractTimeSpanFilter
  */
 public function buildAccessibleAbstractTimeSpanFilter($filterSettings = NULL)
 {
     if (!$filterSettings) {
         $filterSettings = $this->defaultFilterSettings;
     }
     $gpVarsAdapgerMock = $this->getMock('Tx_PtExtbase_State_GpVars_GpVarsAdapter', array(), array(), '', FALSE);
     /* @var $gpVarsAdapter Tx_PtExtbase_State_GpVars_GpVarsAdapter */
     $accessibleClassName = $this->buildAccessibleProxy('Tx_PtExtlist_Domain_Model_Filter_AbstractTimeSpanFilter');
     $abstractTimeSpanFilter = $this->getMockForAbstractClass($accessibleClassName);
     /* @var $abstractTimeSpanFilter Tx_PtExtlist_Domain_Model_Filter_AbstractTimeSpanFilter */
     $filterConfiguration = new Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig($this->configurationBuilderMock, $filterSettings, 'test');
     $dataBackendMock = new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend($this->configurationBuilderMock);
     $dataBackendMock->_injectFieldConfigurationCollection($this->configurationBuilderMock->buildFieldsConfiguration());
     $abstractTimeSpanFilter->_injectFilterConfig($filterConfiguration);
     $abstractTimeSpanFilter->_injectDataBackend($dataBackendMock);
     $abstractTimeSpanFilter->_injectGpVarsAdapter($gpVarsAdapgerMock);
     $abstractTimeSpanFilter->_set('filterValueStart', date_create('2000-01-01'));
     $abstractTimeSpanFilter->_set('filterValueEnd', date_create());
     $abstractTimeSpanFilter->init();
     return $abstractTimeSpanFilter;
 }
 /** @test */
 public function getGroupDataReturnsExpectedData()
 {
     $dataBackend = new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend($this->configurationBuilder);
     $fields = array('field1', 'field2', 'field3');
     $excludeFilters = array('filterbox1.filter1', 'filterbox1.filter2', 'filterbox2.filter1');
     $additionalQuery = new Tx_PtExtlist_Domain_QueryObject_Query();
     $additionalQuery->addCriteria(Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThan('field1', 10));
     $returnArray = array('test');
     $sortingStateCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Sorting_SortingStateCollection', array('getSortingsQuery'), array(), '', false);
     $sortingStateCollectionMock->expects($this->any())->method('getSortingsQuery')->will($this->returnValue(new Tx_PtExtlist_Domain_QueryObject_Query()));
     $sorterMock = $this->getMock('Tx_PtExtlist_Domain_Model_Sorting_Sorter', array('getSortingStateCollection'), array(), '', false);
     $sorterMock->expects($this->any())->method('getSortingStateCollection')->will($this->returnValue($sortingStateCollectionMock));
     $queryInterpreterMock = $this->getMock('Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlInterpreter_MySqlInterpreter', array('interpretQuery'), array(), '', false);
     $dataSourceMock = $this->getMock('Tx_PtExtlist_Domain_DataBackend_DataSource_MySqlDataSource', array('executeQuery', 'fetchAll'), array(), '', false);
     $dataSourceMock->expects($this->once())->method('executeQuery')->will($this->returnValue($dataSourceMock));
     $dataSourceMock->expects($this->once())->method('fetchAll')->will($this->returnValue($returnArray));
     $filterboxCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection', array('getExcludeFilters'), array(), '', false);
     $filterboxCollectionMock->expects($this->any())->method('excludeFilters')->will($this->returnValue(array()));
     $dataBackend->_injectBackendConfiguration($this->configurationBuilder->buildDataBackendConfiguration());
     $dataBackend->_injectPagerCollection($this->objectManager->get('Tx_PtExtlist_Domain_Model_Pager_PagerCollectionFactory')->getInstance($this->configurationBuilder));
     $dataBackend->_injectDataSource($dataSourceMock);
     $dataBackend->_injectQueryInterpreter($queryInterpreterMock);
     $dataBackend->_injectSorter($sorterMock);
     $dataBackend->_injectFilterboxCollection($filterboxCollectionMock);
     $dataBackend->init();
     $groupData = $dataBackend->getGroupData($additionalQuery, $excludeFilters);
     $this->assertEquals($returnArray, $groupData);
 }
 protected function buildAccessibleAbstractGroupDataFilter($filterSettings = NULL)
 {
     $this->defaultFilterSettings = $filterSettings;
     if (!$this->defaultFilterSettings) {
         $this->defaultFilterSettings = array('filterIdentifier' => 'test', 'filterClassName' => 'Tx_PtExtlist_Domain_Model_Filter_SelectFilter', 'partialPath' => 'Filter/SelectFilter', 'fieldIdentifier' => 'field1', 'displayFields' => 'field1,field2', 'filterField' => 'field3', 'invert' => '0');
     }
     $accessibleClassName = $this->buildAccessibleProxy('Tx_PtExtlist_Domain_Model_Filter_AbstractOptionsFilter');
     $abstractOptionsFilter = $this->getMockForAbstractClass($accessibleClassName);
     $filterConfiguration = new Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig($this->configurationBuilderMock, $this->defaultFilterSettings, 'test');
     $gpVarAdapterMock = $this->getMock('Tx_PtExtbase_State_GpVars_GpVarsAdapter', array(), array(), '', FALSE);
     /* @var $gpVarAdapterMock Tx_PtExtbase_State_GpVars_GpVarsAdapter */
     $dataBackendMock = new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend($this->configurationBuilderMock);
     $dataBackendMock->_injectFieldConfigurationCollection($this->configurationBuilderMock->buildFieldsConfiguration());
     /* @var $abstractOptionsFilter Tx_PtExtlist_Domain_Model_Filter_AbstractOptionsFilter */
     $abstractOptionsFilter->_injectFilterConfig($filterConfiguration);
     $abstractOptionsFilter->_injectDataBackend($dataBackendMock);
     $abstractOptionsFilter->_injectGpVarsAdapter($gpVarAdapterMock);
     $abstractOptionsFilter->init();
     return $abstractOptionsFilter;
 }