/**
  * If appropriate, validate command data.
  *
  * @param $command
  */
 protected function validateCommand($command)
 {
     $validator = $this->commandTranslator->toValidator($command);
     if (class_exists($validator)) {
         $this->app->make($validator)->validate($command);
     }
 }
 function it_handles_command_if_validation_succeeds(Application $application, CommandTranslator $translator, CommandBus $bus, ExampleCommand $command, ExampleValidator $validator)
 {
     // Own responsibility
     $translator->toValidator($command)->willReturn(ExampleValidator::class);
     $application->make(ExampleValidator::class)->willReturn($validator);
     // Delegated responsibility
     $bus->execute($command)->shouldBeCalled();
     $this->execute($command);
 }