/**
  * Handles a GameMoveCommand
  *
  * @param  GameMoveCommand $command
  * @return void
  */
 public function handleGameMoveCommand(GameMoveCommand $command)
 {
     ContextContainer::setContext($command->getContext());
     try {
         $miniGame = $this->gameManager->load($command->getGameId());
         $miniGame->play($command->getPlayerId(), $command->getMove());
         $this->gameManager->save($miniGame);
     } catch (\Exception $e) {
         $this->errorHandler->handle(new MiniGameAppErrorEvent($command->getGameId(), $command->getPlayerId(), $e->getMessage()), $command->getContext());
     }
     ContextContainer::reset();
 }
예제 #2
0
 private function assertErrorWillBeHandled()
 {
     $this->errorHandler->shouldReceive('handle')->with(\Mockery::on(function ($errorEvent) {
         return $errorEvent instanceof MiniGameAppErrorEvent;
     }), $this->context)->once();
 }