public function testInterpretQueryByRepository() { $criteriaArray = array(new Tx_PtExtlist_Domain_QueryObject_SimpleCriteria('field1', 'value1', '='), new Tx_PtExtlist_Domain_QueryObject_SimpleCriteria('field2', 'value2', '>')); $queryObjectMock = $this->getMock('Tx_PtExtlist_Domain_QueryObject_Query', array('getSortings'), array(), '', false); $queryObjectMock->expects($this->any())->method('getLimit')->will($this->returnValue('20:10')); $queryObjectMock->expects($this->any())->method('getCriterias')->will($this->returnValue($criteriaArray)); $queryObjectMock->expects($this->any())->method('getSortings')->will($this->returnValue(array())); $extbaseQueryMock = $this->getMock('\\TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Query', array(), array(), '', false); $extbaseQueryMock->expects($this->any())->method('matching'); $extbaseQueryMock->expects($this->any())->method('getConstraint')->will($this->returnValue(null)); $extbaseQueryMock->expects($this->any())->method('equals')->with('field1', 'value1')->will($this->returnValue($this->getMock('\\TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Qom\\Comparison', array(), array(), '', false))); $extbaseQueryMock->expects($this->any())->method('greaterThan')->with('field2', 'value2')->will($this->returnValue($this->getMock('\\TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Qom\\Comparison', array(), array(), '', false))); $repositoryMock = $this->getMock('\\TYPO3\\CMS\\Extbase\\Persistence\\Repository', array(), array(), '', false); $repositoryMock->expects($this->any())->method('createQuery')->will($this->returnValue($extbaseQueryMock)); $translatedQuery = Tx_PtExtlist_Domain_DataBackend_ExtBaseDataBackend_ExtBaseInterpreter_ExtBaseInterpreter::interpretQueryByRepository($queryObjectMock, $repositoryMock); }
/** * Builds ExtBase query object without regarding pager * * @return \TYPO3\CMS\Extbase\Persistence\Generic\Query */ protected function buildExtBaseQueryWithoutPager() { $extbaseQuery = Tx_PtExtlist_Domain_DataBackend_ExtBaseDataBackend_ExtBaseInterpreter_ExtBaseInterpreter::interpretQueryByRepository($this->buildGenericQueryWithoutPager(), $this->repository); /* @var $extbaseQuery \TYPO3\CMS\Extbase\Persistence\Generic\Query */ if ($this->backendConfiguration->getSettings('respectStoragePage') == 0) { $extbaseQuery->getQuerySettings()->setRespectStoragePage(false); } return $extbaseQuery; }