Пример #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;
 }
Пример #3
0
 /**
  * Creates an expectation that $helper->updateJob is called.
  *
  * @param JobInterface $expectedJob    The expected first argument passed to updateJob
  * @param Status       $status         The expected second argument passed to updateJob
  * @param mixed|null   $processingTime The optional expected third argument passed to updateJob
  */
 protected function expectsCallsUpdateJob(JobInterface $expectedJob, Status $status, $processingTime = 0, $response = null)
 {
     if (null == $response) {
         $this->helper->expects($this->once())->method('updateJob')->with($expectedJob, $this->equalTo($status), $processingTime == null ? $this->greaterThanOrEqual(0) : $processingTime)->willReturnCallback(function (JobInterface $job) use($status, $processingTime) {
             $job->setStatus($status);
             if ($processingTime != null) {
                 $job->setProcessingTime($processingTime);
             }
         });
     } else {
         $this->helper->expects($this->once())->method('updateJob')->with($expectedJob, $this->equalTo($status), $processingTime == null ? $this->greaterThanOrEqual(0) : $processingTime, $response)->willReturnCallback(function (JobInterface $job) use($status, $processingTime) {
             $job->setStatus($status);
             if ($processingTime != null) {
                 $job->setProcessingTime($processingTime);
             }
         });
     }
 }