From 92790b1d2883f03d14ddb2a8b894180e8b661e6d Mon Sep 17 00:00:00 2001 From: neFAST Date: Thu, 7 Mar 2019 08:48:56 +0100 Subject: [PATCH] =?UTF-8?q?FIX=20#1428=20Make=20sure=20FormInterfaceConfig?= =?UTF-8?q?=20has=20a=20'documentation'=20option=20=E2=80=A6=20(#1429)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * FIX #1428 Make sure FormInterfaceConfig has a 'documentation' option before getting it FIX #1428 * adding SubmitType to Tests * Update UserType.php * Update UserType.php * Update FunctionalTest.php * Update FunctionalTest.php * removed check to see how unit test handles this * Add test back * Cs --- ModelDescriber/FormModelDescriber.php | 5 ++++- Tests/Functional/Form/UserType.php | 4 +++- Tests/Functional/FunctionalTest.php | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ModelDescriber/FormModelDescriber.php b/ModelDescriber/FormModelDescriber.php index 15fd27a..5c8dafc 100644 --- a/ModelDescriber/FormModelDescriber.php +++ b/ModelDescriber/FormModelDescriber.php @@ -75,7 +75,10 @@ final class FormModelDescriber implements ModelDescriberInterface, ModelRegistry $schema->setRequired($required); } - $property->merge($config->getOption('documentation')); + if ($config->hasOption('documentation')) { + $property->merge($config->getOption('documentation')); + } + if (null !== $property->getType()) { continue; // Type manually defined } diff --git a/Tests/Functional/Form/UserType.php b/Tests/Functional/Form/UserType.php index c0c02f0..a60bf56 100644 --- a/Tests/Functional/Form/UserType.php +++ b/Tests/Functional/Form/UserType.php @@ -14,6 +14,7 @@ namespace Nelmio\ApiDocBundle\Tests\Functional\Form; use Nelmio\ApiDocBundle\Tests\Functional\Entity\User; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\CollectionType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -40,7 +41,8 @@ class UserType extends AbstractType ->add('entities', EntityType::class, ['class' => 'Entity', 'multiple' => true]) ->add('document', DocumentType::class, ['class' => 'Document']) ->add('documents', DocumentType::class, ['class' => 'Document', 'multiple' => true]) - ->add('extended_builtin', ExtendedBuiltinType::class, ['required_option' => 'foo']); + ->add('extended_builtin', ExtendedBuiltinType::class, ['required_option' => 'foo']) + ->add('save', SubmitType::class); } public function configureOptions(OptionsResolver $resolver) diff --git a/Tests/Functional/FunctionalTest.php b/Tests/Functional/FunctionalTest.php index db6c235..282a34d 100644 --- a/Tests/Functional/FunctionalTest.php +++ b/Tests/Functional/FunctionalTest.php @@ -274,6 +274,8 @@ class FunctionalTest extends WebTestCase 'type' => 'string', 'enum' => ['foo', 'bar'], ], + 'save' => [ + ], ], 'required' => ['dummy', 'dummies', 'entity', 'entities', 'document', 'documents', 'extended_builtin'], ], $this->getModel('UserType')->toArray());