コード例 #1
0
 function it_gets_child_permission($em, PermissionInterface $permission, QueryBuilder $builder, AbstractQuery $query, Expr $expr)
 {
     $permission->getRight()->shouldBeCalled()->willReturn(1);
     $permission->getLeft()->shouldBeCalled()->willReturn(2);
     $builder->expr()->shouldBeCalled()->willReturn($expr);
     $expr->lt('o.left', 1)->shouldBeCalled()->willReturn($expr);
     $expr->gt('o.left', 2)->shouldBeCalled()->willReturn($expr);
     $em->createQueryBuilder()->shouldBeCalled()->willReturn($builder);
     $builder->select('o')->shouldBeCalled()->willReturn($builder);
     $builder->from(Argument::any(), 'o', Argument::cetera())->shouldBeCalled()->willReturn($builder);
     $builder->where(Argument::type(Expr::class))->shouldBeCalled()->willReturn($builder);
     $builder->andWhere(Argument::type(Expr::class))->shouldBeCalled()->willReturn($builder);
     $builder->getQuery()->shouldBeCalled()->willReturn($query);
     $query->execute()->shouldBeCalled();
     $this->getChildPermissions($permission);
 }
コード例 #2
0
 /**
  * {@inheritdoc}
  */
 public function getChildPermissions(PermissionInterface $permission)
 {
     $queryBuilder = $this->createQueryBuilder('o');
     return $queryBuilder->where($queryBuilder->expr()->lt('o.left', $permission->getRight()))->andWhere($queryBuilder->expr()->gt('o.left', $permission->getLeft()))->getQuery()->execute();
 }