quelqu'un aurait-il un exemple d'un WebTestCase Atoum pour Symfony2. J'ai ceci pour l'instant en PHPUnit que je voudrais essayer de convertir en test Atoum (ça me semble bien plus rapide à l'exécution):
class TeacherControllerTest extends AbstractControllerTest {
private $FIELD_PREFIX = 'virgule_bundle_mainbundle_teachertype';
public function testUserCreationSuccess() {
// Create a new client to browse the application
$this->client = static::createClient();
$this->crawler = $this->client->request('GET', '/');
$this->login($this->ADMIN_USERNAME, $this->ADMIN_PASSWORD);
$this->goToUserCreationForm();
$lastName = "Lachance" . time();
$firstName = "Bob" . time();
$phoneNumber = "2026770549";
$cellPhoneNumber = "0620518103";
$phoneNumberFormatted = "20 26 77 05 49";
$cellPhoneNumberFormatted = "06 20 51 81 03";
$emailAddress = "bob.lachance." . time() . "@example.com";
$userName = "bob" . time();
$passwordFirst = "password";
$passwordSecond = $passwordFirst;
$this->fillAndSubmitForm($firstName, $lastName, $phoneNumber, $cellPhoneNumber, $emailAddress, $userName, $passwordFirst, $passwordSecond);
$this->assertTrue($this->crawler->filter("html:contains('Créer un nouveau compte utilisateur')")->count() == 0);
$this->assertEquals(1, $this->crawler->filter("td:contains('" . $firstName . " " . $lastName . "')")->count());
$this->assertEquals(1, $this->crawler->filter("td:contains('" . $phoneNumberFormatted ."')")->count());
$this->assertEquals(1, $this->crawler->filter("td:contains('" . $cellPhoneNumberFormatted ."')")->count());
$crawlerTeacher = $this->crawler->filter("td:contains('" . $firstName . " " . $lastName . "')")->siblings();
$this->crawler = $this->client->click($crawlerTeacher->selectLink('Détails')->link());
$this->assertTrue($this->crawler->filter("html:contains('Fiche formateur')")->count() == 1);
$this->assertTrue($this->crawler->filter("html:contains('Liste des formateurs actifs')")->count() == 0);
$this->assertEquals(1, $this->crawler->filter("div.widget-title:contains('" . $firstName . " " . $lastName . "')")->count());
$this->assertEquals(1, $this->crawler->filter("div.controls:contains('" . $phoneNumberFormatted ."')")->count());
$this->assertEquals(1, $this->crawler->filter("div.controls:contains('" . $cellPhoneNumberFormatted ."')")->count());
$this->assertEquals(1, $this->crawler->filter("div.controls:contains('" . $emailAddress ."')")->count());
$this->assertEquals(1, $this->crawler->filter("div.controls:contains('" . date("d/m/Y") ."')")->count());
$this->assertEquals(1, $this->crawler->filter("div.widget-content:contains('Aucun apprenant trouvé')")->count());
$this->assertEquals(1, $this->crawler->filter("div.widget-content:contains(' Aucun cours dirigé pour le moment')")->count());
$this->assertEquals(1, $this->crawler->filter("div.widget-content:contains('Aucun compte-rendu enregistré pour le moment')")->count());
}
}
Malheureusement je ne vois pas bien à partir de l'exemple du bundle https://github.com/atoum/AtoumBundle#web-test-case comment faire des asserts.Merci