function FormBuilderTest::testPostAjaxRequest
Same name in other branches
- 11.x core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php \Drupal\Tests\Core\Form\FormBuilderTest::testPostAjaxRequest()
@covers ::buildForm
File
-
core/
tests/ Drupal/ Tests/ Core/ Form/ FormBuilderTest.php, line 601
Class
- FormBuilderTest
- @coversDefaultClass \Drupal\Core\Form\FormBuilder @group Form
Namespace
Drupal\Tests\Core\FormCode
public function testPostAjaxRequest() : void {
$request = new Request([
FormBuilderInterface::AJAX_FORM_REQUEST => TRUE,
], [
'form_id' => 'different_form_id',
]);
$request->setMethod('POST');
$request->setSession(new Session(new MockArraySessionStorage()));
$this->requestStack
->push($request);
$form_state = (new FormState())->setUserInput([
FormBuilderInterface::AJAX_FORM_REQUEST => TRUE,
])
->setMethod('get')
->setAlwaysProcess()
->disableRedirect()
->set('ajax', TRUE);
$form_id = '\\Drupal\\Tests\\Core\\Form\\TestForm';
$expected_form = (new TestForm())->buildForm([], $form_state);
$form = $this->formBuilder
->buildForm($form_id, $form_state);
$this->assertFormElement($expected_form, $form, 'test');
$this->assertSame('test-form', $form['#id']);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.