19 class QueryParserTest extends \TYPO3\TestingFramework\Core\Functional\FunctionalTestCase
25 protected $testExtensionsToLoad = [
'typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example'];
45 protected function setUp()
49 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/categories.xml');
50 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/tags.xml');
51 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/blogs.xml');
52 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/tags-mm.xml');
53 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/persons.xml');
54 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/posts.xml');
55 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/post-tag-mm.xml');
56 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/category-mm.xml');
57 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/fe_users.xml');
58 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/fe_groups.xml');
60 $this->objectManager = GeneralUtility::makeInstance(\
TYPO3\CMS\
Extbase\Object\ObjectManager::class);
61 $this->blogRepository = $this->objectManager->get(\
ExtbaseTeam\BlogExample\Domain\Repository\BlogRepository::class);
70 $postRepository = $this->objectManager->get(
'ExtbaseTeam\\BlogExample\\Domain\\Repository\\PostRepository');
71 $query = $postRepository->createQuery();
74 $query->equals(
'blog', 3),
76 $query->equals(
'tags.name',
'Tag12'),
77 $query->equals(
'author.tags.name',
'TagForAuthor1')
82 $result = $query->execute()->toArray();
83 $this->assertEquals(3, count($result));
94 $postRepository = $this->objectManager->get(
'ExtbaseTeam\\BlogExample\\Domain\\Repository\\PostRepository');
95 $query = $postRepository->createQuery();
97 $query->equals(
'tags.name',
'Tag12')
99 $result = $query->execute()->toArray();
100 $this->assertEquals(2, count($result));
112 $frontendUserRepository = $this->objectManager->get(
'TYPO3\\CMS\\Extbase\\Domain\\Repository\\FrontendUserRepository');
113 $query = $frontendUserRepository->createQuery();
115 $query->equals(
'usergroup.title',
'Group A')
118 $result = $query->execute()->toArray();
119 $this->assertCount(3, $result);
130 $postRepository = $this->objectManager->get(
'ExtbaseTeam\\BlogExample\\Domain\\Repository\\PostRepository');
131 $query = $postRepository->createQuery();
133 $query->equals(
'author.firstname',
'Author')
135 $result = $query->execute()->toArray();
137 $this->assertCount(12, $result);
146 $postRepository = $this->objectManager->get(
'ExtbaseTeam\\BlogExample\\Domain\\Repository\\PostRepository');
147 $query = $postRepository->createQuery();
150 $query->equals(
'tags.name',
'Tag12'),
151 $query->equals(
'tags.name',
'Tag11')
154 $result = $query->execute()->toArray();
155 $this->assertCount(2, $result);
164 $postRepository = $this->objectManager->get(
'ExtbaseTeam\\BlogExample\\Domain\\Repository\\PostRepository');
165 $query = $postRepository->createQuery();
168 $query->equals(
'blog', 3),
169 $query->equals(
'tags.name',
'Tag12'),
170 $query->equals(
'author.tags.name',
'TagForAuthor1')
173 $result = $query->execute()->toArray();
174 $this->assertCount(1, $result);
183 $frontendUserRepository = $this->objectManager->get(
'TYPO3\\CMS\\Extbase\\Domain\\Repository\\FrontendUserRepository');
184 $query = $frontendUserRepository->createQuery();
186 $result = $query->matching($query->contains(
'usergroup', 1))
188 $this->assertCount(3, $result);
196 $postRepository = $this->objectManager->get(
'ExtbaseTeam\\BlogExample\\Domain\\Repository\\PostRepository');
197 $query = $postRepository->createQuery();
198 $post = $query->matching($query->equals(
'uid', 1))->execute()->current();
199 $this->assertCount(3, $post->getCategories());