PHPUnit в Symfony (Проверка отправки формы)
Всем привет. Мне нужно проверить правильно ли отправляется форма и что происходит при валидных и не валидных значениях. И проверить, правильные ли высвечиваются ошибки, когда данные не валидны.
public function testFormNew(): void
{
$url = 'http://study-on.local:81/course/new';
$client = AbstractTest::getClient();
$client->followRedirects();
$crawler = $client->request('GET', $url);
$form = $crawler->filter('form')->form();
$form->setValues(array(
"course[name]" => "t",
"course[description]" => "test description form 2",
"course[code]" => "15235"
));
$client->submit($form);
$response = $client->getResponse()->getContent();
$messege = $crawler->filter('html');
//$messege = $response->find('form .mb-3 div ul li')->text();
//$this->expectOutputString('');
//print_r($messege);
var_dump($response);
// $this->assertContains('Your data has been saved!', $response->getContent());
}
По сути я очень близок к разгадке. У меня получилось отправить в форму данные, но есть одна проблема. В данном куске коде отправляется не валидный course[name] и на странице высвечивается ошибка: "Название должно быть больше 5 символов". В переменную $response попадает строка со всем html кодом включающим код ошибки. Вопрос в том, как мне вытащить эту ошибку, чтобы проверить правильная ли эта ошибка (есть ли способы кроме регулярки)?
И еще вопрос. Мне нужно проверить данную форму при валидных значениях. А при них происходит редирект. Мне нужно сделать проверку на редирект, после введеных значений или как-то нужно проверить базу данных, и добавились ли в нее отправленные в форму данные?