getName())."\r\n"; } public function onNotSuccessfulTest(Exception $e){ echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n"; parent::onNotSuccessfulTest($e); } /** * Test les dossiers à qualifier avec le qualificateur qui doit voir tous les * dossiers dans ce cas. */ public function test_01_dossier_qualifier() { // On se connecte à l'application $this->login("guichet", "guichet"); // On clique sur le menu "Nouveau Dossier" $this->byLinkText("Nouveau Dossier")->click(); // On vérifie qu'il n'y ait pas d'erreur $this->verifynoerrors(); // On vérifie le nom de l'onglet $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text()); // On selectionne le label "Permis de construire pour une maison // individuelle et / ou ses annexes" $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes"); // On selectionne le label "Permis de construire pour une maison // individuelle et / ou ses annexes" $this->select($this->byId("demande_type"))->selectOptionByLabel( "Dépôt Initial"); sleep(1); // On clique pour ajouter un pétitionnaire principale $this->byId("add_petitionnaire_principal")->click(); // On remplit le champ $this->byId("particulier_nom")->value("DURAND"); // On remplit le champ $this->byId("particulier_prenom")->value("MICKAEL"); // On remplit le champ $this->byId("particulier_date_naissance")->value("03/01/1956"); // On remplit le champ $this->byId("particulier_commune_naissance")->value("LILLE"); // On remplit le champ $this->byId("particulier_departement_naissance")->value("NORD"); // On remplit le champ $this->byId("numero")->value("12"); // On remplit le champ $this->byId("voie")->value("RUE DE LA LOI"); // On remplit le champ $this->byId("complement")->value("APPT 12"); // On remplit le champ $this->byId("localite")->value("MARSEILLE"); // On remplit le champ $this->byId("code_postal")->value("13012"); // On remplit le champ $this->byId("telephone_fixe")->value("0404040404"); // On clique sur ajouter $this->byCssSelector( "div#sformulaire form div.formControls input.om-button")->click(); sleep(1); // On vérifie qu'il n'y ait pas d'erreur $this->verifynoerrors(); // On vérifie le message $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector("#sousform-petitionnaire .message")->text()); // On clique sur le bouton retour $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click(); sleep(1); // On vérifie que le text est présent $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/", $this->byCssSelector( "#petitionnaire_principal_delegataire .synthese_demandeur")->text()); // On clique sur ajouter $this->byXPath("//input[@value='Ajouter']")->click(); // On vérifie qu'il n'y ait pas d'erreur $this->verifynoerrors(); // On vérifie le message $this->assertContains("Création du dossier d'autorisation", $this->byCssSelector(".message")->text()); // On récupère le numéro du dossier $preg_match = preg_match('(PC.*)', $this->byCssSelector(".message")->text(), $matches); $dossier_autorisation = $matches[0]; // On clique $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5); // Liste les fenêtres $windows = $this->windowHandles(); // Change la fenêtre $this->window($windows[1]); // On vérifie qu'il n'y ait pas d'erreur $this->verifynoerrors(); // On vérifie que le text est présent $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/", $this->source()); // On ferme la fenêtre $this->closeWindow(); // On change le focus de la fenêtre $this->window($windows[0]); // On clique sur le bouton retour $this->byLinkText("Retour")->click(); // On vérifie qu'il n'y ait pas d'erreur $this->verifynoerrors(); // On se déconnecte $this->deconnect(); // on se connecte à l'application en tant que qualificateur $this->login("qualif", "qualif"); // On vérifie qu'il y a un dossier à qualifier $this->assertRegExp("/^[\s\S]*ADS[\s\S]*$/", $this->byId("widget_15")->text()); // On clique sur "Voir tous mes dossiers à qualifier" $this->byLinkText("Voir tous mes dossiers à qualifier")->click(); // On recherche le dossier $this->byName("recherche")->value( str_replace(' ', '', $dossier_autorisation)."P0"); $this->byName("s1")->click(); // On vérifie qu'il n'y ait pas d'erreur $this->verifynoerrors(); // On vérifie que le DI est présent $this->assertContains($dossier_autorisation, $this->byId("tab-dossier_qualifier_qualificateur")->text()); // On clique dessus $this->byLinkText($dossier_autorisation."P0")->click(); // On vérifie qu'il soit bien "à qualifer" $this->assertEquals("Oui", $this->byId("a_qualifier")->text()); // On clique sur modifier $this->byId("action-form-dossier_instruction-modifier")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On décoche la case "à qualifier" $this->byId("a_qualifier")->click(); // On valide le formulaire $this->byXPath("//input[@value='Modifier']")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On vérifie le message de validation $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text()); //On clique sur le menu qualification $this->byLinkText("Qualification")->click(); // On clique sur le menu "Dossier À Qualifier" $this->byLinkText("Dossiers À Qualifier")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On vérifie que le dossier n'existe plus $this->assertNotContains($dossier_autorisation."P0", $this->byCssSelector( "#tab-dossier_qualifier_qualificateur .tab-tab")->text()); // On se déconnecte $this->logout(); } /** * Teste que le qualificateur puisse ajouter des contraintes */ public function test_03_ajout_contraintes() { // on se connecte à l'application en tant que qualificateur $this->login("qualif", "qualif"); // On vérifie qu'il y a un dossier à qualifier $this->assertRegExp("/^[\s\S]*ADS[\s\S]*$/", $this->byId("widget_15")->text()); // On clique sur "Voir tous mes dossiers à qualifier" $this->byLinkText("Voir tous mes dossiers à qualifier")->click(); // On recherche le dossier $this->byName("recherche")->value("AT0130551300001P0"); $this->byName("s1")->click(); // On vérifie qu'il n'y ait pas d'erreur $this->verifynoerrors(); // On clique dessus $this->byLinkText("AT 013055 13 00001P0")->click(); // On clique sur l'onglet Contrainte(s) $this->byId("dossier_contrainte")->click(); // On clique sur "Ajouter des contraintes" $this->byId("action-soustab-dossier_contrainte-corner-ajouter")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On déploie le groupe "Contraintes Openads" $this->byCssSelector("#fieldset-sousform-dossier_contrainte-contraintes-openads legend")->click(); sleep(1); // On déploie le sous-groupe "Environnement" $this->byCssSelector("#fieldset-sousform-dossier_contrainte-environnement legend")->click(); sleep(1); // On clique sur la checkbox de la contrainte $this->byId("contrainte_5")->click(); // On applique les changements $this->byCssSelector("input[value='Appliquer les changements']")->click();sleep(1); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On vérifie le message de validation $this->assertContains("La contrainte Pollution puits a été ajoutée au dossier.", $this->byCssSelector(".message")->text()); // On clique sur le bouton "Retour" $this->byLinkText("Retour")->click();sleep(1); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // Vérifie que la contrainte est présente $this->assertContains("Le puits d'une profondeur de [...] est pollué.", $this->byId("sousform-dossier_contrainte")->text()); // On se déconnecte $this->logout(); } } ?>