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); }
/** * {@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(); }