/**
  * @param JobInstance $jobInstance
  * @param string      $field
  * @param mixed       $data
  */
 protected function setData(JobInstance $jobInstance, $field, $data)
 {
     switch ($field) {
         case 'connector':
             $jobInstance->setConnector($data);
             break;
         case 'alias':
             $jobInstance->setJobName($data);
             break;
         case 'label':
             $jobInstance->setLabel($data);
             break;
         case 'type':
             $jobInstance->setType($data);
             break;
         case 'configuration':
             $job = $this->jobRegistry->get($jobInstance->getJobName());
             /** @var JobParameters $jobParameters */
             $jobParameters = $this->jobParametersFactory->create($job, $data);
             $jobInstance->setRawParameters($jobParameters->all());
             break;
         case 'code':
             $jobInstance->setCode($data);
             break;
     }
 }
 function it_configures_job_instances_with_several_replacement_paths(JobInstance $instance)
 {
     $myFilePath = __FILE__;
     $myInstallerPath = dirname($myFilePath);
     $myFileName = str_replace($myInstallerPath, '', $myFilePath);
     $myReplacementFileCommunity = $myFilePath;
     $myReplacementFileEnterprise = $myFilePath;
     $replacementPaths = [$myFileName => [$myReplacementFileCommunity, $myReplacementFileEnterprise]];
     $instance->getCode()->willReturn('my_original_code');
     $instance->getRawParameters()->willReturn(['filePath' => $myFileName]);
     $instance->setRawParameters(['filePath' => $myReplacementFileCommunity])->shouldBeCalled();
     $instance->setCode('my_original_code0')->shouldBeCalled();
     $instance->getRawParameters()->willReturn(['filePath' => $myFileName]);
     $instance->setRawParameters(['filePath' => $myReplacementFileEnterprise])->shouldBeCalled();
     $instance->setCode('my_original_code1')->shouldBeCalled();
     $configuredInstances = $this->configureJobInstancesWithReplacementPaths([$instance], $replacementPaths);
     $configuredInstances->shouldHaveCount(2);
 }
 function it_updates_an_job_instance($jobParametersFactory, $jobRegistry, JobInstance $jobInstance, JobInterface $job, JobParameters $jobParameters)
 {
     $jobInstance->getJobName()->willReturn('fixtures_currency_csv');
     $jobRegistry->get('fixtures_currency_csv')->willReturn($job);
     $jobParametersFactory->create($job, ['filePath' => 'currencies.csv'])->willReturn($jobParameters);
     $jobParameters->all()->willReturn(['filePath' => 'currencies.csv']);
     $jobInstance->setJobName('fixtures_currency_csv')->shouldBeCalled();
     $jobInstance->setCode('fixtures_currency_csv')->shouldBeCalled();
     $jobInstance->setConnector('Data fixtures')->shouldBeCalled();
     $jobInstance->setLabel('Currencies data fixtures')->shouldBeCalled();
     $jobInstance->setRawParameters(['filePath' => 'currencies.csv'])->shouldBeCalled();
     $jobInstance->setType('type')->shouldBeCalled();
     $this->update($jobInstance, ['connector' => 'Data fixtures', 'alias' => 'fixtures_currency_csv', 'label' => 'Currencies data fixtures', 'type' => 'type', 'configuration' => ['filePath' => 'currencies.csv'], 'code' => 'fixtures_currency_csv']);
 }
Ejemplo n.º 4
0
 /**
  * @param TableNode $table
  *
  * @Given /^the following jobs?:$/
  */
 public function theFollowingJobs(TableNode $table)
 {
     $registry = $this->getContainer()->get('akeneo_batch.connectors');
     foreach ($table->getHash() as $data) {
         $jobInstance = new JobInstance($data['connector'], $data['type'], $data['alias']);
         $jobInstance->setCode($data['code']);
         $jobInstance->setLabel($data['label']);
         $job = $registry->getJob($jobInstance);
         $jobInstance->setJob($job);
         $this->validate($jobInstance);
         $this->persist($jobInstance);
     }
 }
 /**
  * @param TableNode $table
  *
  * @Given /^the following jobs?:$/
  */
 public function theFollowingJobs(TableNode $table)
 {
     foreach ($table->getHash() as $data) {
         $jobInstance = new JobInstance($data['connector'], $data['type'], $data['alias']);
         $jobInstance->setCode($data['code']);
         $jobInstance->setLabel($data['label']);
         $this->getContainer()->get('akeneo_batch.saver.job_instance')->save($jobInstance);
     }
 }