/** * @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_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']); }