Since: 2.3
Author: Benjamin Eberlei (kontakt@beberlei.de)
 public function testWalkOrCompositeExpression()
 {
     $cb = new CriteriaBuilder();
     $expr = $this->visitor->walkCompositeExpression($cb->orX($cb->eq("foo", 1), $cb->eq("bar", 1)));
     $this->assertInstanceOf('Doctrine\\ORM\\Query\\Expr\\Orx', $expr);
     $this->assertCount(2, $expr->getParts());
 }
 /**
  * Finds operations
  *
  * @param Status $status status to filter upon
  * @param DateTime $date optional date to filter upon
  *
  * @return OperationInterface[]
  */
 public function findByStatusAndBeforeUpdatedAt(Status $status, DateTime $date)
 {
     $criteria = new Criteria();
     $exprBuilder = new ExpressionBuilder();
     $criteria->where($exprBuilder->eq('status', $status->getValue()));
     $criteria->andWhere($exprBuilder->lte('updatedAt', $date));
     return $this->matching($criteria)->toArray();
 }
Esempio n. 3
0
 public function getAnnouncements()
 {
     $eb = new ExpressionBuilder();
     $expr = $eb->eq('removed', false);
     $criteria = new Criteria($expr);
     $announcements = new ArrayCollection($this->announcements->toArray());
     return $announcements->matching($criteria);
 }
Esempio n. 4
0
 public function getPluginByCriteria($criteria, $needle)
 {
     $eb = new ExpressionBuilder();
     $expr = $eb->eq($criteria, $needle);
     $criteria = new Criteria($expr);
     $availablePlugins = new ArrayCollection($this->getAllAvailablePlugins());
     return $availablePlugins->matching($criteria);
 }
Esempio n. 5
0
 public function testOrArrayRules()
 {
     $ruler = new Ruler();
     $expr = new ExpressionBuilder();
     $ruler->add($expr->orX($expr->eq('someField', 'abc'), $expr->eq('someField', 'def')), 'ghi');
     $context = ['someField' => 'def'];
     $this->assertSame('ghi', $ruler->decide($context));
 }
 /**
  * @depends testUpdate
  */
 public function testFind()
 {
     $criteria = new Criteria();
     $expression = new ExpressionBuilder();
     $exp = $expression->eq('username', 'john');
     $criteria->where($exp);
     $this->assertEquals(1, count($this->getRepository(UserExtraEntity::class)->findBy($criteria)));
     $this->assertEquals(2, count($this->getRepository(UserExtraEntity::class)->findAll()));
 }
 public function testWalkCompositeExpression()
 {
     $builder = new ExpressionBuilder();
     $compositeExpr = $builder->andX($builder->eq('a', 1), $builder->neq('a', 2), $builder->eq('b', 3));
     $expectedQuery = array('$and' => array(array('a' => 1), array('a' => array('$ne' => 2)), array('b' => 3)));
     $expr = $this->visitor->dispatch($compositeExpr);
     $this->assertInstanceOf('Doctrine\\ODM\\MongoDB\\Query\\Expr', $expr);
     $this->assertEquals($expectedQuery, $expr->getQuery());
 }
 /**
  * @depends testSearchEntity
  */
 public function testDeleteWithGlobalIndexEntity()
 {
     $criteria = new Criteria();
     $exp = new ExpressionBuilder();
     $criteria->where($exp->eq('is_default', 'true'));
     $result = $this->getDriver()->findBy($criteria, $this->getClassMetadata());
     $this->assertEquals(2, count($result));
     foreach ($result as $item) {
         $result = $this->getDriver()->deleteItem(['scope_name' => $item['scope_name']], $this->getClassMetadata());
         $this->assertTrue($result);
     }
     $result = $this->getDriver()->findBy($criteria, $this->getClassMetadata());
     $this->assertEquals(0, count($result));
 }
Esempio n. 9
0
 function it_builds_like(CollectionsExpressionBuilder $expressionBuilder)
 {
     $this->like('o.foo', 'value');
     $expressionBuilder->contains('o.foo', 'value')->shouldHaveBeenCalled();
 }
 public function testContains()
 {
     $expr = $this->builder->contains("a", "b");
     $this->assertInstanceOf('Doctrine\\Common\\Collections\\Expr\\Comparison', $expr);
     $this->assertEquals(Comparison::CONTAINS, $expr->getOperator());
 }
 public function testArrayComparison()
 {
     $closure = $this->visitor->walkComparison($this->builder->eq("foo", 42));
     $this->assertTrue($closure(array('foo' => 42)));
 }
Esempio n. 12
0
 /**
  * {@inheritdoc}
  */
 public function like($field, $pattern)
 {
     return $this->expressionBuilder->contains($field, $pattern);
 }