Пример #1
0
 /**
  * @param JobInterface $original
  * @dataProvider provideCopyJobs
  */
 public function testCopyJob(JobInterface $original)
 {
     $copy = new Job();
     $returnValue = $this->subject->copyJob($original, $copy);
     $this->assertSame($copy, $returnValue);
     $this->assertNull($copy->getTicket());
     $this->assertEquals($original->getType(), $copy->getType());
     $this->assertEquals($original->getResponse(), $copy->getResponse());
     $this->assertEquals($original->getStatus(), $copy->getStatus());
     $this->assertEquals($original->getSchedules(), $copy->getSchedules());
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 public function update(JobInterface $job)
 {
     $existingJob = $this->jobManager->findByTicket($job->getTicket());
     if (null == $existingJob) {
         return $this->add($job);
     }
     $this->logger->debug('Update job ' . $job->getTicket(), ['job' => $job]);
     $job = $this->helper->copyJob($job, $existingJob);
     if (null != $this->validator) {
         $errors = $this->validator->validate($job);
         if (count($errors) > 0) {
             throw new ValidationFailedException($errors);
         }
     }
     $this->jobManager->save($job);
     $this->getJobLogger($job)->debug('Updated job', ['job' => $job]);
     return $job;
 }