function it_throws_exception_when_serializer_is_not_a_normalizer(JobExecution $jobExecution, SerializerInterface $nonNormalizeSerializer, $exportExecution, $cleanExecution)
 {
     $this->setSerializer($nonNormalizeSerializer);
     $jobExecution->getStepExecutions()->willReturn([$exportExecution, $cleanExecution]);
     $jobExecution->getFailureExceptions()->willReturn([]);
     $jobExecution->getLabel()->willReturn('My Job');
     $this->shouldThrow(new \RuntimeException('Cannot normalize job execution of "My Job" because injected serializer is not a normalizer'))->duringNormalize($jobExecution, 'any');
 }
 /**
  * @param JobExecution $jobExecution
  */
 public function __construct(JobExecution $jobExecution)
 {
     $message = '';
     foreach ($jobExecution->getFailureExceptions() as $exception) {
         $message .= $this->getFailureExceptionMessage('JOB', $exception);
     }
     foreach ($jobExecution->getStepExecutions() as $stepExecution) {
         $message .= $this->getStepExecutionMessages($stepExecution);
     }
     parent::__construct($message);
 }
 function let(NotificationManager $manager, JobExecutionEvent $event, JobExecution $jobExecution, StepExecution $stepExecution, ArrayCollection $warnings, JobInstance $jobInstance, UserInterface $user, BatchStatus $status)
 {
     $this->beConstructedWith($manager);
     $jobExecution->getUser()->willReturn($user);
     $jobExecution->getStepExecutions()->willReturn([$stepExecution]);
     $jobExecution->getStatus()->willReturn($status);
     $jobExecution->getJobInstance()->willReturn($jobInstance);
     $stepExecution->getWarnings()->willReturn($warnings);
     $jobExecution->getId()->willReturn(5);
     $jobInstance->getType()->willReturn('export');
     $jobInstance->getLabel()->willReturn('Product export');
     $event->getJobExecution()->willReturn($jobExecution);
 }
 /**
  * Return the job execution status
  *
  * @param JobExecution $jobExecution
  *
  * @return string
  */
 protected function getJobStatus(JobExecution $jobExecution)
 {
     if ($jobExecution->getStatus()->isUnsuccessful()) {
         $status = 'error';
     } else {
         $status = 'success';
         foreach ($jobExecution->getStepExecutions() as $stepExecution) {
             if ($stepExecution->getWarnings()->count() > 0) {
                 $status = 'warning';
                 break;
             }
         }
     }
     return $status;
 }
 /**
  * Returns true if the job has been executed without any warning
  *
  * @param JobExecution $jobExecution
  *
  * @return bool
  */
 protected function executionComplete(JobExecution $jobExecution)
 {
     if (ExitStatus::COMPLETED !== $jobExecution->getExitStatus()->getExitCode()) {
         return false;
     }
     foreach ($jobExecution->getStepExecutions() as $stepExecution) {
         if (count($stepExecution->getWarnings())) {
             return false;
         }
     }
     return true;
 }