/** * Set not mapped field * * @param FormEvent $event */ public function postSet(FormEvent $event) { $form = $event->getForm(); /** @var Integration $data */ $data = $event->getData(); if ($data === null) { return; } $typeChoices = array_keys($form->get('transportType')->getConfig()->getOption('choices')); $firstChoice = reset($typeChoices); if ($transport = $data->getTransport()) { $transportType = $this->registry->getTransportTypeBySettingEntity($transport, $data->getType(), true); } else { $transportType = $firstChoice; } $form->get('transportType')->setData($transportType); $integrationType = $form->get('type')->getData(); // populate empty transport type in case when default values from empty entity should be mapped to form if ($integrationType && !($transport = $data->getTransport())) { $transport = $this->registry->getTransportType($form->get('type')->getData(), $transportType)->getSettingsEntityFQCN(); if (class_exists($transport)) { $form->get('transport')->setData(new $transport()); } } }
/** * @expectedException \LogicException */ public function testGetTransportType1() { $this->assertEquals($this->transport1, $this->typesRegistry->getTransportType('error1', 'error2')); }