public function let(EntityManager $manager, EventDispatcherInterface $dispatcher, Faculty $faculty, RentalRepository $rentalRepository, LockerRepository $lockerRepository, User $user, Rental $rental, Locker $locker)
 {
     $days_length_rental = 7;
     $this->beConstructedWith($manager, $dispatcher, $lockerRepository, $rentalRepository, $days_length_rental);
     $user->getLocker()->willReturn(null);
     $user->getIsPenalized()->willReturn(false);
     $user->getQueue()->willReturn(null);
     $user->getFaculty()->willReturn($faculty);
     $faculty->getIsEnabled()->willReturn(true);
     $locker->getOwner()->willReturn(null);
     $locker->getStatus()->willReturn(Locker::AVAILABLE);
     $rentalRepository->getCurrentRental($locker)->willReturn($rental);
     $rental->getIsRenewable()->willReturn(true);
 }
 public function it_finds_current_locker_rental(Locker $locker, Rental $rental, User $user, EntityManager $manager, QueryBuilder $builder, AbstractQuery $query, Expr $expr)
 {
     $locker->getOwner()->shouldBeCalled()->willReturn($user);
     $manager->createQueryBuilder()->shouldBeCalled()->willReturn($builder);
     $builder->expr()->shouldBeCalled()->willReturn($expr);
     $builder->select('o')->shouldBeCalled()->willReturn($builder);
     $builder->from(Argument::any(), 'o', Argument::any())->shouldBeCalled()->willReturn($builder);
     $expr->eq('o.user', ':user')->shouldBeCalled()->willReturn($expr);
     $builder->andWhere($expr)->shouldBeCalled()->willReturn($builder);
     $expr->eq('o.locker', ':locker')->shouldBeCalled()->willReturn($expr);
     $builder->andWhere($expr)->shouldBeCalled()->willReturn($builder);
     $expr->isNull('o.returnAt')->shouldBeCalled()->willReturn($expr);
     $builder->andWhere($expr)->shouldBeCalled()->willReturn($builder);
     $builder->setParameter('user', $user)->shouldBeCalled()->willReturn($builder);
     $builder->setParameter('locker', $locker)->shouldBeCalled()->willReturn($builder);
     $builder->getQuery()->shouldBeCalled()->willReturn($query);
     $query->getOneOrNullResult()->shouldBeCalled()->willReturn($rental);
     $this->getCurrentRental($locker);
 }