19 class InTest extends \TYPO3\TestingFramework\Core\Functional\FunctionalTestCase
34 protected $testExtensionsToLoad = [
'typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example'];
49 protected function setUp()
53 $this->importDataSet(
'PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
54 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/blogs.xml');
55 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/posts.xml');
56 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/tags.xml');
57 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/post-tag-mm.xml');
59 $this->objectManager = GeneralUtility::makeInstance(\
TYPO3\CMS\
Extbase\Object\ObjectManager::class);
60 $this->blogRepository = $this->objectManager->get(\
ExtbaseTeam\BlogExample\Domain\Repository\BlogRepository::class);
61 $this->postRepository = $this->objectManager->get(\
ExtbaseTeam\BlogExample\Domain\Repository\PostRepository::class);
69 $blog1 = $this->blogRepository->findByUid(1);
70 $blog2 = $this->blogRepository->findByUid(2);
72 $inQuery = $this->postRepository->createQuery();
75 $inQuery->in(
'blog', [$blog1, $blog2])
78 $this->assertSame(11, $inQuery->count());
86 $blog1 = $this->blogRepository->findByUid(1);
87 $blog2 = $this->blogRepository->findByUid(2);
89 $inQuery = $this->postRepository->createQuery();
92 $inQuery->in(
'blog', [$blog1, $blog2])
95 $this->assertSame(11, $inQuery->count());
97 $newInQuery = $this->postRepository->createQuery();
99 $newInQuery->matching(
100 $newInQuery->in(
'blog', [$blog1])
103 $this->assertSame(10, $newInQuery->count());
111 $blog1 = $this->blogRepository->findByUid(1);
112 $blog2 = $this->blogRepository->findByUid(2);
114 $objectStorage = $this->objectManager->get(\
TYPO3\CMS\
Extbase\Persistence\ObjectStorage::class);
115 $objectStorage->attach($blog1);
116 $objectStorage->attach($blog2);
118 $inQuery = $this->postRepository->createQuery();
121 $inQuery->in(
'blog', $objectStorage)
124 $this->assertSame(11, $inQuery->count());
132 $blog1 = $this->blogRepository->findByUid(1);
133 $blog2 = $this->blogRepository->findByUid(2);
135 $objectStorage = $this->objectManager->get(\
TYPO3\CMS\
Extbase\Persistence\ObjectStorage::class);
136 $objectStorage->attach($blog1);
137 $objectStorage->attach($blog2);
139 $inQuery = $this->postRepository->createQuery();
142 $inQuery->in(
'blog', $objectStorage)
145 $this->assertSame(11, $inQuery->count());
147 $newObjectStorage = $this->objectManager->get(\
TYPO3\CMS\
Extbase\Persistence\ObjectStorage::class);
148 $newObjectStorage->attach($blog1);
150 $newInQuery = $this->postRepository->createQuery();
152 $newInQuery->matching(
153 $newInQuery->in(
'blog', $newObjectStorage)
156 $this->assertSame(10, $newInQuery->count());
164 $query = $this->blogRepository->createQuery();
165 $query->matching($query->in(
'uid', [1, 2]));
166 $queryResult = $query->execute();
168 $inQuery = $this->postRepository->createQuery();
171 $inQuery->in(
'blog', $queryResult)
174 $this->assertSame(11, $inQuery->count());
182 $query = $this->blogRepository->createQuery();
183 $query->matching($query->in(
'uid', [1, 2]));
184 $queryResult = $query->execute();
186 $inQuery = $this->postRepository->createQuery();
189 $inQuery->in(
'blog', $queryResult)
192 $this->assertSame(11, $inQuery->count());
194 $newInQuery = $this->postRepository->createQuery();
196 $newInQuery->matching(
197 $newInQuery->in(
'blog', $queryResult)
200 $this->assertSame(11, $newInQuery->count());
208 $blog = $this->blogRepository->findByUid(1);
210 $this->assertInstanceOf(
211 \
TYPO3\CMS\
Extbase\Persistence\Generic\LazyObjectStorage::class,
215 $inQuery = $this->postRepository->createQuery();
218 $inQuery->in(
'uid', $blog->getPosts())
221 $this->assertSame(10, $inQuery->count());
229 $blog = $this->blogRepository->findByUid(1);
231 $this->assertInstanceOf(
232 \
TYPO3\CMS\
Extbase\Persistence\Generic\LazyObjectStorage::class,
236 $inQuery = $this->postRepository->createQuery();
239 $inQuery->in(
'uid', $blog->getPosts())
242 $this->assertSame(10, $inQuery->count());
244 $newInQuery = $this->postRepository->createQuery();
246 $newInQuery->matching(
247 $newInQuery->in(
'uid', $blog->getPosts())
250 $this->assertSame(10, $newInQuery->count());