function it_gets_chield_roles($em, $builder, RoleInterface $role, QueryBuilder $builder, AbstractQuery $query, Expr $expr) { $role->getRight()->shouldBeCalled()->willReturn(1); $role->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('Doctrine\\ORM\\Query\\Expr'))->shouldBeCalled()->willReturn($builder); $builder->andWhere(Argument::type('Doctrine\\ORM\\Query\\Expr'))->shouldBeCalled()->willReturn($builder); $builder->getQuery()->shouldBeCalled()->willReturn($query); $query->execute()->shouldBeCalled(); $this->getChildRoles($role); }
/** * {@inheritdoc} */ public function getChildRoles(RoleInterface $role) { $queryBuilder = $this->createQueryBuilder('o'); return $queryBuilder->where($queryBuilder->expr()->lt('o.left', $role->getRight()))->andWhere($queryBuilder->expr()->gt('o.left', $role->getLeft()))->getQuery()->execute(); }