/** @test */ public function getListDataReturnsExpectedListData() { $dataSourceReturnArray = array(array('t1.f1' => 'v1_1', 't1.f2' => 'v1_2', 't1.f3' => 'v1_3', 't2.f1' => 'v1_4', 't2.f2' => 'v1_5'), array('t1.f1' => 'v2_1', 't1.f2' => 'v2_2', 't1.f3' => 'v2_3', 't2.f1' => 'v2_4', 't2.f2' => 'v2_5'), array('t1.f1' => 'v3_1', 't1.f2' => 'v3_2', 't1.f3' => 'v3_3', 't2.f1' => 'v3_4', 't2.f2' => 'v3_5'), array('t1.f1' => 'v4_1', 't1.f2' => 'v4_2', 't1.f3' => 'v4_3', 't2.f1' => 'v4_4', 't2.f2' => 'v4_5'), array('t1.f1' => 'v5_1', 't1.f2' => 'v5_2', 't1.f3' => 'v5_3', 't2.f1' => 'v5_4', 't2.f2' => 'v5_5'), array('t1.f1' => 'v6_1', 't1.f2' => 'v6_2', 't1.f3' => 'v6_3', 't2.f1' => 'v6_4', 't2.f2' => 'v6_5'), array('t1.f1' => 'v7_1', 't1.f2' => 'v7_2', 't1.f3' => 'v7_3', 't2.f1' => 'v7_4', 't2.f2' => 'v7_5'), array('t1.f1' => 'v8_1', 't1.f2' => 'v8_2', 't1.f3' => 'v8_3', 't2.f1' => 'v8_4', 't2.f2' => 'v8_5')); $dataSourceMock = $this->getMock('Tx_PtExtlist_Domain_DataBackend_DataSource_MySqlDataSource', array('executeQuery', 'fetchAll'), array(new Tx_PtExtlist_Domain_Configuration_DataBackend_DataSource_DatabaseDataSourceConfiguration($this->configurationBuilder->buildDataBackendConfiguration()->getDataBackendSettings()))); $dataSourceMock->expects($this->once())->method('executeQuery')->will($this->returnValue($dataSourceMock)); $dataSourceMock->expects($this->once())->method('fetchAll')->will($this->returnValue($dataSourceReturnArray)); $pagerCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Pager_PagerCollection', array('isEnabled', 'getCurrentPage', 'getItemsPerPage', 'getItemOffset'), array($this->configurationBuilder)); $pagerCollectionMock->expects($this->any())->method('getCurrentPage')->will($this->returnValue(10)); $pagerCollectionMock->expects($this->any())->method('getItemsPerPage')->will($this->returnValue(10)); $pagerCollectionMock->expects($this->once())->method('isEnabled')->will($this->returnValue(true)); $pagerCollectionMock->expects($this->once())->method('getItemOffset')->will($this->returnValue(90)); $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)); $mapperMock = $this->getMock('Tx_PtExtlist_Domain_DataBackend_Mapper_ArrayMapper', array(), array()); $mapperMock->expects($this->once())->method('getMappedListData')->will($this->returnValue($dataSourceReturnArray)); $filterboxCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection', array('getExcludeFilters'), array(), '', false); $filterboxCollectionMock->expects($this->any())->method('excludeFilters')->will($this->returnValue(array())); $dataBackend = new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend($this->configurationBuilder); $dataBackend->_injectBackendConfiguration($this->configurationBuilder->buildDataBackendConfiguration()); $dataBackend->_injectQueryInterpreter(new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlInterpreter_MySqlInterpreter()); $dataBackend->_injectDataSource($dataSourceMock); $dataBackend->_injectPagerCollection($pagerCollectionMock); $dataBackend->_injectDataMapper($mapperMock); $dataBackend->_injectSorter($sorterMock); $dataBackend->_injectFilterboxCollection($filterboxCollectionMock); $dataBackend->init(); $listData = $dataBackend->getListData(); $this->assertTrue($listData == $dataSourceReturnArray); }