예제 #1
0
 public function testCreateQueryBuilderForCollection()
 {
     $this->classMetadata->expects($this->once())->method('getFieldNames')->will($this->returnValue([]));
     $this->classMetadata->expects($this->once())->method('getAssociationTargetClass')->with($this->identicalTo('translations'))->will($this->returnValue($translationClass = TranslationTest::class));
     $translationClassMetadata = $this->createClassMetadataMock();
     $translationClassMetadata->expects($this->once())->method('getFieldNames')->will($this->returnValue(['locale']));
     $this->documentManager->expects($this->once())->method('getClassMetadata')->with($this->identicalTo($translationClass))->will($this->returnValue($translationClassMetadata));
     $this->documentManager->expects($this->once())->method('createQueryBuilder')->will($this->returnValue($queryBuilder = $this->createQueryBuilderMock()));
     $queryBuilder->expects($this->once())->method('field')->with($this->identicalTo('translations.locale'))->will($this->returnSelf());
     $this->localeContext->expects($this->once())->method('getLocales')->will($this->returnValue($locales = ['fr']));
     $this->localeContext->expects($this->once())->method('getFallbackLocale')->will($this->returnValue($fallbackLocale = 'en'));
     $queryBuilder->expects($this->once())->method('in')->with($this->identicalTo(array_merge($locales, [$fallbackLocale])))->will($this->returnSelf());
     $this->assertSame($queryBuilder, $this->translatableRepository->createQueryBuilderForCollection());
 }
예제 #2
0
 /**
  * @param mixed       $value
  * @param string|null $alias
  *
  * @return \PHPUnit_Framework_MockObject_MockObject|Builder
  */
 private function setUpQueryBuilder($value = false, $alias = null)
 {
     $this->documentManager->expects($this->once())->method('createQueryBuilder')->will($this->returnValue($queryBuilder = $this->createQueryBuilderMock()));
     if ($value === false) {
         return $queryBuilder;
     }
     $queryBuilder->expects($this->once())->method('field')->with($this->identicalTo('foo'))->will($this->returnSelf());
     $queryBuilder->expects($this->once())->method($value === null || is_string($value) ? 'equals' : 'in')->with($this->identicalTo($value))->will($this->returnSelf());
     $queryBuilder->expects($this->once())->method('sort')->with($this->identicalTo('baz'), $this->identicalTo('ASC'))->will($this->returnSelf());
     return $queryBuilder;
 }