getName())."\r\n"; } public function onNotSuccessfulTest(Exception $e){ echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n"; parent::onNotSuccessfulTest($e); } /** * Test les pétitionnaires fréquents */ public function test_07_PetitionnaireFrequent() { // 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 sélectionne pétitionnaire fréquent $this->byId("frequent")->click(); // 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->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$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->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text()); // 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 en administrateur $this->login("admin", "admin"); //On clique sur le menu guichet unique $this->byLinkText("Guichet Unique")->click(); // On clique sur pétitionnaire fréquent $this->byLinkText("Pétitionnaire Fréquent")->click(); // 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]*pétitionnaire fréquent[\s\S]*$/",$this->source()); // On lance une recherche simple $this->byName("recherche")->value("*DUR"); $this->select($this->byName("selectioncol"))->selectOptionByLabel("nom"); // On clique sur recherche $this->byName("s1")->click(); // 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]*DURAND MICKAEL[\s\S]*$/",$this->source()); // On clique sur le résultat $this->byLinkText("DURAND MICKAEL")->click(); // 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]*RUE DE LA LOI[\s\S]*$/",$this->source()); // On marque le pétitionnaire comme non fréquent $this->byId("action-form-petitionnaire_frequent-non_frequent")->click(); //On vérifie le message $this->assertRegExp("/^[\s\S]*Mise à jour effectuée avec succès[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text()); // On clique sur le bouton "Retour" $this->byLinkText("Retour")->click(); // 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]*pétitionnaire fréquent[\s\S]*$/",$this->source()); $this->assertNotContains('DURAND MICKAEL', $this->source()); // On se déconnecte $this->logout(); } /* * Cette fonction va tester l'affectation automatique des instructeurs aux * dossiers d'instruction. * Quatre cas sont possibles : * - Aucun instructeur ne correspond, ; * - Un instructeur joker correspond, ; * - Un instructeur correspond, . */ function test_10_AffectationAutomatique(){ // On se connecte à l'application $this->login("guichet", "guichet"); //Ajout d'un dossier d'instructeur avec affectation d'aucun instructeur $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire comprenant ou non des démolitions", "Poly Com Marseille"); //Ajout d'un dossier d'instructeur avec affectation d'un instructeur //joker avec seulement le type de dossier d'autorisation détaillé de //renseigné $this->ajoutDossierAffectationAutomatique("806", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Louis Laurent"); //Ajout d'un dossier d'instructeur avec affectation du seul instructeur //correspondant parfaitement aux critères $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Pierre Martin"); // On se déconnecte $this->logout(); } /** * Ajoute un dossier d'instruction * @param string $reference_cadastrale_quartier Le quartier de la référence * cadastrale du dossier * @param string $reference_cadastrale_section La section de la référence * cadastrale du dossier * @param string $reference_cadastrale_parcelle La parcelle de la référence * cadastrale du dossier * @param string $datd dossier d'autorisation type détaillé * @param string $instructeur le nom de l'instructeur * * @return boolean */ function ajoutDossierAffectationAutomatique($reference_cadastrale_quartier, $reference_cadastrale_section, $reference_cadastrale_parcelle,$datd, $instructeur){ //On affiche le tableau de bord $this->byLinkText("Tableau de bord")->click(); // 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($datd); // 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 saisie les références cadastrales $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value($reference_cadastrale_quartier); $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value($reference_cadastrale_section); $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value($reference_cadastrale_parcelle); //On saisi l'adresse $this->byId("terrain_adresse_voie_numero")->value("0075"); $this->byId("terrain_adresse_voie")->value("TRA DE LA DOMINIQUE"); $this->byId("terrain_adresse_code_postal")->value("13011"); $this->byId("terrain_adresse_localite")->value("MARSEILLE"); // 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->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$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->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text()); // 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]*Dossier suivi par ".$instructeur."[\s\S]*$/",$this->source()); // On ferme la fenêtre $this->closeWindow(); // On change le focus de la fenêtre $this->window($windows[0]); } } ?>