getName())."\r\n"; } public function onNotSuccessfulTest(Exception $e){ echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n"; parent::onNotSuccessfulTest($e); } /** * Test la synchronisation des utilisateurs avec le ldap * Les utilisateurs qui devront être ajoutés et mise à jour : * arnaud.lelache@meyreuil, bob.ho@meyreuil et thierry.benita@meyreuil * Et les utilisateurs qui devront être supprimés : * ldap_instructeur et ldap_service */ public function test_01_synchronisation_ldap() { // On se connecte à l'application $this->login("admin", "admin"); // On clique sur le menu "Administration" $this->byLinkText("Administration")->click(); // On clique sur le sous-menu "Annuaire" $this->byLinkText("Annuaire")->click(); // On vérifie qu'il y ait 3 utilisateurs à ajouter $this->assertRegExp("/^[\s\S]*Il y a 3 utilisateur\(s\) présent\(s\) dans l'annuaire et non présent\(s\) dans la base => 3 ajout\(s\)[\s\S]*$/", $this->byId("formulaire")->text()); // On vérifie qu'il y ait 2 utilisateurs à supprimer $this->assertRegExp("/^[\s\S]*Il y a 2 utilisateur\(s\) présent\(s\) dans la base et non présent\(s\) dans l'annuaire => 2 suppression\(s\)[\s\S]*$/", $this->byId("formulaire")->text()); // On clique sur "Synchroniser" $this->byCssSelector("#formulaire .boutonFormulaire")->click(); // On vérifie que tout s'est bien passé $this->assertRegExp("/^[\s\S]*La synchronisation des utilisateurs est terminée.[\s\S]*$/", $this->byCssSelector(".message")->text()); // On clique sur le sous-menu "Utilisateur" $this->byLinkText("Utilisateur")->click(); // On vérifie sur la première page qu'il y a 2 nouveaux utilisateurs // et que les utilisateurs ldap_instructeur et ldap_service n'y sont plus $this->assertRegExp("/^[\s\S]*arnaud.lelache@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text()); $this->assertRegExp("/^[\s\S]*bob.ho@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text()); $this->assertNotContains("ldap_instructeur", $this->byId("tab-om_utilisateur")->text()); $this->assertNotContains("ldap_service", $this->byId("tab-om_utilisateur")->text()); // On change de page $this->byCssSelector(".pagination-next")->click(); // On vérifie sur la deuxième page qu'il y a 1 nouveau utilisateur // et que les utilisateurs ldap_instructeur et ldap_service n'y sont plus $this->assertRegExp("/^[\s\S]*thierry.benita@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text()); $this->assertNotContains("ldap_instructeur", $this->byId("tab-om_utilisateur")->text()); $this->assertNotContains("ldap_service", $this->byId("tab-om_utilisateur")->text()); // On clique sur le sous-menu "Annuaire" $this->byLinkText("Annuaire")->click(); // On vérifie qu'il y ait 3 utilisateurs à mettre à jour $this->assertRegExp("/^[\s\S]*Il y a 3 utilisateur\(s\) présent\(s\) à la fois dans la base et l'annuaire => 3 mise\(s\) à jour[\s\S]*$/", $this->byId("formulaire")->text()); // On clique sur "Synchroniser" $this->byCssSelector("#formulaire .boutonFormulaire")->click(); // On vérifie que tout s'est bien passé $this->assertRegExp("/^[\s\S]*La synchronisation des utilisateurs est terminée.[\s\S]*$/", $this->byCssSelector(".message")->text()); // On se déconnecte $this->logout(); } /** * Test l'ajout de numéro de versement aux archives par lot grâce à un * fichier csv, pour les dossiers */ public function test_02_versement_aux_archives() { // On se connecte en tant que "suivi" $this->login("suivi", "suivi"); // On clique sur le menu "Export / Import" $this->byLinkText("Export / Import")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le sous-menu "Versement Aux Archives" $this->byLinkText("Versement Aux Archives")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On remplit le champ "insee" $this->byId("insee")->value("01234"); // On clic sur le bouton pour ajouter un fichier $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click(); // On sélectionne un fichier binaire pour tester l'erreur $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf"); $this->byName("submit")->click(); // On vérifié que l'on a une erreur de format $this->assertContains("Le fichier n'est pas conforme à la liste des extension(s) autorisée(s) (.csv). [lettre_rar16042013124515.pdf]", $this->byCssSelector(".message span.text")->text()); // On clique sur le bouton fermer $this->byLinkText("Fermer")->click(); // On clic sur le bouton "Importer" $this->byId("button-versement_archives-importer")->click(); // On vérifie le message d'erreur $this->assertContains("Vous n'avez pas sélectionné de fichier à importer.", $this->byCssSelector(".message")->text()); // On vérifie que le code insee est toujours celui indiqué par // l'utilisateur $this->assertEquals("01234", $this->byId("insee")->attribute('value')); // On clic sur le bouton pour ajouter un fichier $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On sélectionne le fichier csv $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/versement_archives.csv"); $this->byName("submit")->click();sleep(5); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clic sur le bouton "Importer" $this->byId("button-versement_archives-importer")->click();sleep(5); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On vérifie qu'il y a le message de validation d'import du csv $this->assertContains("Il y a eu 6 ligne(s) lue(s), 1 ligne(s) acceptée(s), 3 ligne(s) rejetée(s) et 2 ligne(s) ignorée(s)", $this->byCssSelector(".message")->text()); // On se déconnecte $this->deconnect(); // On se connecte en tant que "instr" $this->login("instr", "instr"); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le sous-menu "Recherche" $this->byLinkText("Recherche")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le dossier d'instruction ("PC 013055 12 00001P0") $this->byLinkText("PC 013055 12 00001P0")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On vérifie le numéro de versement aux archives $this->assertEquals("1025W 444444", $this->byId("numero_versement_archive")->text()); // On se déconnecte $this->logout(); } } ?>