コード例 #1
0
 public function it_closes_penalty(ObjectManager $manager, Penalty $penalty, EventDispatcherInterface $dispatcher)
 {
     $penalty->close()->shouldBeCalled();
     $manager->persist($penalty)->shouldBeCalled();
     $manager->flush()->shouldBeCalled();
     $event = new PenaltyEvent($penalty->getWrappedObject());
     $dispatcher->dispatch(PenaltyEvents::PENALTY_CLOSED, $event)->shouldBeCalled();
     $this->closePenalty($penalty);
 }
コード例 #2
0
 /**
  * {@inheritdoc}
  */
 public function closePenalty(Penalty $penalty)
 {
     if ($penalty->getStatus() === Penalty::DONE) {
         throw new PenaltyDoneException();
     }
     $penalty->close();
     $this->manager->persist($penalty);
     $this->manager->flush();
     $event = new PenaltyEvent($penalty);
     $this->dispatcher->dispatch(PenaltyEvents::PENALTY_CLOSED, $event);
 }
コード例 #3
0
 /**
  * {@inheritdoc}
  */
 public function close()
 {
     parent::close();
     $this->setIsPaid(true);
 }