19 class CountTest extends \TYPO3\TestingFramework\Core\Functional\FunctionalTestCase
34 protected $testExtensionsToLoad = [
'typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example'];
59 protected function setUp()
63 $this->importDataSet(
'PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
64 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/blogs.xml');
65 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/posts.xml');
66 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/post-post-mm.xml');
67 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/tags.xml');
68 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/tags-mm.xml');
69 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/post-tag-mm.xml');
70 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/persons.xml');
72 $this->objectManager = GeneralUtility::makeInstance(\
TYPO3\CMS\
Extbase\Object\ObjectManager::class);
73 $this->persistentManager = $this->objectManager->get(\
TYPO3\CMS\
Extbase\Persistence\Generic\PersistenceManager::class);
74 $this->postRepository = $this->objectManager->get(\
ExtbaseTeam\BlogExample\Domain\Repository\PostRepository::class);
82 $query = $this->postRepository->createQuery();
83 $this->assertSame($this->numberOfRecordsInFixture, $query->count());
91 $query = $this->postRepository->createQuery();
93 $query->setLimit($this->numberOfRecordsInFixture+1);
96 $this->assertSame($this->numberOfRecordsInFixture - 6, $query->count());
104 $query = $this->postRepository->createQuery();
106 $query->setLimit($this->numberOfRecordsInFixture+1);
107 $query->setOffset($this->numberOfRecordsInFixture + 5);
109 $this->assertSame(0, $query->count());
117 $query = $this->postRepository->createQuery();
121 $this->assertSame(4, $query->count());
129 $query = $this->postRepository->createQuery();
132 ->setOffset($this->numberOfRecordsInFixture - 3)
135 $this->assertSame(3, $query->count());
143 $query = $this->postRepository->createQuery();
146 $query->in(
'uid', [1, 2, 3])
149 $this->assertSame(3, $query->count());
159 $query = $this->postRepository->createQuery();
162 $query->equals(
'blog.title',
'Blog1')
165 $this->assertSame(10, $query->count());
175 $query = $this->postRepository->createQuery();
178 $query->equals(
'relatedPosts.title',
'Post2')
181 $this->assertSame(1, $query->count());
191 $query = $this->postRepository->createQuery();
195 $query->equals(
'tags.uid', 1),
196 $query->equals(
'tags.uid', 2)
201 $result = $query->execute();
204 $this->assertSame(10, $result->count());
213 $personRepository = $this->objectManager->get(\
ExtbaseTeam\BlogExample\Domain\Repository\PersonRepository::class);
214 $query = $personRepository->createQuery();
217 $query->equals(
'tags.name',
'TagForAuthor1'),
218 $query->equals(
'tagsSpecial.name',
'SpecialTagForAuthor1')
221 $this->assertSame(1, $query->count());
230 $personRepository = $this->objectManager->get(\
ExtbaseTeam\BlogExample\Domain\Repository\PersonRepository::class);
231 $query = $personRepository->createQuery();
234 $query->equals(
'tags.name',
'TagForAuthor1'),
235 $query->equals(
'tagsSpecial.name',
'SpecialTagForAuthor1')
238 $this->assertSame(4, $query->count());