/** @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); }