53 $this->mockPersistenceManager = $this->getMock(
'TYPO3\\CMS\\Extbase\\Persistence\\PersistenceManagerInterface');
54 $this->mockPersistenceManager->expects($this->any())->method(
'getObjectDataByQuery')->will($this->returnValue(array(
'one',
'two')));
55 $this->mockPersistenceManager->expects($this->any())->method(
'getObjectCountByQuery')->will($this->returnValue(2));
56 $this->mockDataMapper = $this->getMock(
'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Mapper\\DataMapper');
57 $this->mockQuery = $this->getMock(
'TYPO3\\CMS\\Extbase\\Persistence\\QueryInterface');
58 $this->queryResult = $this->
getAccessibleMock(
'TYPO3\CMS\Extbase\Persistence\Generic\QueryResult', array(
'dummy'), array($this->mockQuery));
59 $this->queryResult->_set(
'persistenceManager', $this->mockPersistenceManager);
60 $this->queryResult->_set(
'dataMapper', $this->mockDataMapper);
61 $this->sampleResult = array(array(
'foo' =>
'Foo1',
'bar' =>
'Bar1'), array(
'foo' =>
'Foo2',
'bar' =>
'Bar2'));
62 $this->mockDataMapper->expects($this->any())->method(
'map')->will($this->returnValue($this->sampleResult));
69 $this->assertInstanceOf(
'TYPO3\\CMS\\Extbase\\Persistence\\QueryInterface', $this->queryResult->getQuery());
76 $this->assertNotSame($this->mockQuery, $this->queryResult->getQuery());
83 $this->assertTrue($this->queryResult->offsetExists(0));
84 $this->assertFalse($this->queryResult->offsetExists(2));
85 $this->assertFalse($this->queryResult->offsetExists(
'foo'));
92 $this->assertEquals(array(
'foo' =>
'Foo1',
'bar' =>
'Bar1'), $this->queryResult->offsetGet(0));
93 $this->assertNull($this->queryResult->offsetGet(2));
94 $this->assertNull($this->queryResult->offsetGet(
'foo'));
101 $this->queryResult->offsetSet(0, array(
'foo' =>
'FooOverridden',
'bar' =>
'BarOverridden'));
102 $this->assertEquals(array(
'foo' =>
'FooOverridden',
'bar' =>
'BarOverridden'), $this->queryResult->offsetGet(0));
109 $this->queryResult->offsetUnset(0);
110 $this->assertFalse($this->queryResult->offsetExists(0));
117 $queryResult = $this->
getAccessibleMock(
'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\QueryResult', array(
'initialize'), array($this->mockQuery));
118 $queryResult->_set(
'persistenceManager', $this->mockPersistenceManager);
119 $queryResult->expects($this->never())->method(
'initialize');
127 $queryResult = $this->
getAccessibleMock(
'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\QueryResult', array(
'initialize'), array($this->mockQuery));
128 $queryResult->_set(
'persistenceManager', $this->mockPersistenceManager);
136 $this->mockPersistenceManager->expects($this->never())->method(
'getObjectCountByQuery');
137 $this->queryResult->toArray();
138 $this->assertEquals(2, $this->queryResult->count());
145 $this->mockPersistenceManager->expects($this->once())->method(
'getObjectCountByQuery')->will($this->returnValue(2));
146 $this->queryResult->count();
147 $this->assertEquals(2, $this->queryResult->count());
154 $array1 = array(
'foo' =>
'Foo1',
'bar' =>
'Bar1');
155 $array2 = array(
'foo' =>
'Foo2',
'bar' =>
'Bar2');
156 $this->assertEquals($array1, $this->queryResult->current());
157 $this->assertTrue($this->queryResult->valid());
158 $this->queryResult->next();
159 $this->assertEquals($array2, $this->queryResult->current());
160 $this->assertTrue($this->queryResult->valid());
161 $this->assertEquals(1, $this->queryResult->key());
162 $this->queryResult->next();
163 $this->assertFalse($this->queryResult->current());
164 $this->assertFalse($this->queryResult->valid());
165 $this->assertNull($this->queryResult->key());
166 $this->queryResult->rewind();
167 $this->assertEquals(0, $this->queryResult->key());
168 $this->assertEquals($array1, $this->queryResult->current());
174 public function initializeExecutesQueryWithArrayFetchMode() {
177 $queryResult->_set(
'persistenceManager', $this->mockPersistenceManager);
178 $queryResult->_set(
'dataMapper', $this->mockDataMapper);
179 $this->mockPersistenceManager->expects($this->once())->method(
'getObjectDataByQuery')->with($this->mockQuery)->will($this->returnValue(array(
'FAKERESULT')));
187 $queryResult = new \TYPO3\CMS\Extbase\Persistence\Generic\QueryResult($this->mockQuery);
189 $this->assertNull($actualResult);
countDoesNotInitializeProxy()
usingCurrentOnTheQueryResultReturnsNull()
offsetSetWorksAsExpected()
offsetExistsWorksAsExpected()
iteratorMethodsAreCorrectlyImplemented()
getAccessibleMock( $originalClassName, array $methods=array(), array $arguments=array(), $mockClassName='', $callOriginalConstructor=TRUE, $callOriginalClone=TRUE, $callAutoload=TRUE)
offsetUnsetWorksAsExpected()
offsetGetWorksAsExpected()
countCountsQueryResultDirectlyIfAlreadyInitialized()
countCallsGetObjectCountByQueryOnPersistenceManager()
getQueryReturnsQueryObject()
countOnlyCallsGetObjectCountByQueryOnPersistenceManagerOnce()