Quantcast
Channel: Active questions tagged symfony4 - Stack Overflow
Viewing all articles
Browse latest Browse all 3924

How to Test a Form with Multiple Submit

$
0
0

I have a form with 2 submit

// src/Form/FooType.php$builder    ->add('mainsubmit', SubmitType::class, [])    ->add('extrasubmit', SubmitType::class, [])

In my controller, I do some different treatment depending of the submit pressed

// src/Controller/FooController.phpif ($form->isSubmitted() && $form->isValid()) {    if ($form->get('extrasubmit')->isClicked()) {        // do some extra stuff    }

When I click on the extra button, I can see it the symfony Profiler in the request POST parameters "extrasubmit" => "".
Everything works fine.

I'm doing functional tests with the crawler.Without trying to submit with the extra submit, it works fine, so we can assume my test doesn't have a typo.

How can I simulate the click on the extra submit ?

First Try:

$form = $crawler->filter('form')->form();// [...]$form['my_form_name[extrasubmit]'] = true;$httpClient->submit($form);// => InvalidArgumentException: Unreachable field "extrasubmit"

Second Try:

$form->get('my_form_name[extrasubmit]')->setValue("");// => InvalidArgumentException: Unreachable field "extrasubmit"

Viewing all articles
Browse latest Browse all 3924


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>