symfony 4 Форма модульного теста не работает - PullRequest
0 голосов
/ 28 июня 2018

Привет, я пытаюсь проверить форму в Symfony 4. Это мой код,

$crawler = $this->client->request('GET', '/admin/user/new');

        $form = $crawler->selectButton('Save')->form(array(
            'user[displayName]' => 'user',
            'user[username]' => 'user@yahoo.com',
            'user[password]' => 'user123',
            'user[phoneNumber]' => '1234789',
            'user[roles]' => 'ROLE_USER',
        ));
        $crawler = $this->client->submit($form);
        $this->assertGreaterThan(
                0, $crawler->filter('html:contains("Your changes were saved!")')->count()
        );

Форма имеет значения, но все, что я получаю, это

Не удалось подтвердить, что 0 больше 0.

при фактической отправке я получаю это предупреждение.

<div class="alert alert-success alert-dismissible">
    Your changes were saved!
</div>

Было бы, если кто-то может помочь

1 Ответ

0 голосов
/ 28 июня 2018

кажется, что необходимо следовать за перенаправлением, так как отправка формы всегда перенаправлена.

$crawler = $this->client->request('GET', '/admin/user/new');

        $form = $crawler->selectButton('Save')->form(array(
            'user[displayName]' => 'user',
            'user[username]' => 'user@yahoo.com',
            'user[password]' => 'user123',
            'user[phoneNumber]' => '1234789',
            'user[roles]' => 'ROLE_USER',
        ));
        $crawler = $this->client->submit($form);

        $crawler = $this->client->followRedirect();

        $this->assertGreaterThan(
                0, $crawler->filter('html:contains("Your changes were saved!")')->count()
        );
...