/** * @covers ::buildResponse */ public function testBuildResponseWithUpdateCommand() { $triggering_element = ['#ajax' => ['callback' => function (array $form, FormStateInterface $form_state) { return new AjaxResponse([]); }]]; $request = new Request(); $form = ['#build_id' => 'the_build_id', '#build_id_old' => 'a_new_build_id', 'test' => ['#type' => 'textfield']]; $form_state = new FormState(); $form_state->setTriggeringElement($triggering_element); $commands = [new AlertCommand('alert!')]; $commands_expected = []; $commands_expected[] = ['command' => 'update_build_id', 'old' => 'a_new_build_id', 'new' => 'the_build_id']; $commands_expected[] = ['command' => 'alert', 'text' => 'alert!']; $this->renderer->expects($this->never())->method('renderResponse'); $result = $this->formAjaxResponseBuilder->buildResponse($request, $form, $form_state, $commands); $this->assertInstanceOf('\\Drupal\\Core\\Ajax\\AjaxResponse', $result); $this->assertSame($commands_expected, $result->getCommands()); }