PHPverse 2025

Voting

The Note You're Voting On

emmanuellutula at hotmail dot com
7 years ago
If you want to use DOMDocument in your PHPUnit Tests drive on Symfony Controller (testing form)! Use like :

namespace Tests\YourBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use YourBundle\Controller\TextController;

class DefaultControllerTest extends WebTestCase
{
public function testIndex()
{
$client = static::createClient(array(), array());

$crawler = $client->request('GET', '/text/add');
$this->assertTrue($crawler->filter("form")->count() > 0, "Text form exist !");

$form = $crawler->filter("form")->form();

$domDocument = new \DOMDocument;

$domInput = $domDocument->createElement('input');
$dom = $domDocument->appendChild($domInput);
$dom->setAttribute('slug', 'bloc');


$formInput = new \Symfony\Component\DomCrawler\Field\InputFormField($domInput);
$form->set($formInput);

$crawler = $client->submit($form);

if ($client->getResponse()->isRedirect())
{
$crawler = $client->followRedirect(false);
}

// $this->assertTrue($client->getResponse()->isSuccessful());
//$this->assertEquals(200, $client->getResponse()->getStatusCode(),
// "Unexpected HTTP status code for GET /backoffice/login");

}
}

<< Back to user notes page

To Top