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 кодом включающим код ошибки. Вопрос в том, как мне вытащить эту ошибку, чтобы проверить правильная ли эта ошибка (есть ли способы кроме регулярки)?

И еще вопрос. Мне нужно проверить данную форму при валидных значениях. А при них происходит редирект. Мне нужно сделать проверку на редирект, после введеных значений или как-то нужно проверить базу данных, и добавились ли в нее отправленные в форму данные?


Ответы (0 шт):