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"); // 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()); // Récupération du numéro de dossier preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches); $dossier_libelle = $matches[0]; $dossier = str_replace(' ', '', $dossier_libelle); $dossier_dir = substr_replace($dossier, '.', -2, -3); // 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 vérifie que le répertoire s'est crée $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir)); // On se déconnecte $this->deconnect(); /** * Envoi d’un courrier de majoration de délai pour consultation ABF */ // on se connecte à l'application $this->login("instr", "instr"); // On clique sur le menu $this->byLinkText("Recherche")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); // On clique sur le résultat $this->byLinkText($dossier_libelle)->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur l'onglet instruction $this->byId("instruction")->click(); // On clique sur le + pour ajouter une instruction $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click(); // On choisi l'événement ABF recours contre avis [majoration] $this->select($this->byId("evenement"))->selectOptionByValue("21"); // On clique sur le bouton ajouter $this->byXPath("//input[@value='Ajouter']")->click(); // On vérifie que l'instruction s'est bien ajouté $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur le bouton retour $this->byCssSelector("#sousform-instruction form a.retour")->click(); //On récupère le numéro de l'instruction créée $this->byLinkText("ABF recours contre avis")->click(); $idInstrAbf = $this->byCssSelector(".form-content #instruction")->text(); // Finalisation du document $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click(); // On vérifie le message de validation $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur l'onglet DI $this->byId("main")->click(); // on rafraichis la page $this->refresh(); // On vérifie le délai du dossier $this->assertEquals("5", $this->byId('delai')->text()); /** * Envoi notification de pièces manquantes */ // On clique sur l'onglet instruction $this->byId("instruction")->click(); // On clique sur le + pour ajouter une instruction $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click(); // On choisi l'événement "Notification de pieces manquante [rejet]" $this->select($this->byId("evenement"))->selectOptionByValue("2"); // On clique sur le bouton ajouter $this->byXPath("//input[@value='Ajouter']")->click(); // On vérifie que l'instruction s'est bien ajouté $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur le bouton retour $this->byCssSelector("#sousform-instruction form a.retour")->click(); //On récupère le numéro de l'instruction créée $this->byLinkText("Notification de pieces manquante")->click(); $idInstrIncompletude = $this->byCssSelector(".form-content #instruction")->text(); // Finalisation du document $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click(); // On vérifie le message de validation $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur l'onglet DI $this->byId("main")->click(); // on rafraichis la page $this->refresh(); // On vérifie que l'état du dossier $this->assertEquals("dossier incomplet", $this->byId('etat')->text()); // On se deconnecte $this->deconnect(); /** * Retour de l’AR incomplétude */ // on se connecte en tant que suivi $this->login("suivi", "suivi"); // On clique sur le menu $this->byLinkText("Mise À Jour Des Dates")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // on choisit le type de mise à jour $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar"); // on choisit la date $this->byId("date")->value(date("d/m/Y")); // on rentre le code barre $this->byId("code_barres")->value("11".str_pad($idInstrIncompletude, 10, '0', STR_PAD_LEFT)); // on clique sur le bouton valider $this->byName("validation")->click(); // on vérifie que la mise à jour est pour le bon évenement $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text()); // on clique encore sur le bouton valider $this->byName("validation")->click(); // on vérifie que la mise à jour est faite $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text()); /** * Retour de l’AR de majoration de délai consultation ABF */ // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // on choisit le type de mise à jour $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar"); // on choisit la date $this->byId("date")->value(date("d/m/Y")); // on rentre le code barre $this->byId("code_barres")->value("11".str_pad($idInstrAbf, 10, '0', STR_PAD_LEFT)); // on clique sur le bouton valider $this->byName("validation")->click(); // on vérifie que la mise à jour est pour le bon évenement $this->assertEquals("ABF recours contre avis", $this->byId('evenement')->text()); // on clique encore sur le bouton valider $this->byName("validation")->click(); // on vérifie que la mise à jour est faite $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text()); // On se deconnecte $this->deconnect(); /** * Dépôt de pièces complémentaires */ // on se connecte à l'application $this->login("instr", "instr"); // On clique sur le menu $this->byLinkText("Recherche")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); // On clique sur le résultat $this->byLinkText($dossier_libelle)->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur l'onglet instruction $this->byId("instruction")->click(); // on vérifie que les instruction après AR se sont ajouté $this->assertRegExp("/^[\s\S]*incomplétude après accusé de réception[\s\S]*$/", $this->byCssSelector("#sousform-instruction .tab-tab")->text()); $this->assertRegExp("/^[\s\S]*majoration délai abf[\s\S]*$/", $this->byCssSelector("#sousform-instruction .tab-tab")->text()); // On clique sur le + pour ajouter une instruction $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click(); // On choisi l'événement "dépôt de pièces complémentaires [retour]" $this->select($this->byId("evenement"))->selectOptionByValue("91"); // On clique sur le bouton ajouter $this->byXPath("//input[@value='Ajouter']")->click(); // On vérifie que l'instruction s'est bien ajouté $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur le bouton retour $this->byCssSelector("#sousform-instruction form a.retour")->click(); // On clique sur l'onglet DI $this->byId("main")->click(); // on rafraichis la page $this->refresh(); // on vérifie que l'état ne soit plus à incomplet $this->assertTrue($this->byId('etat')->text() != "dossier incomplet"); // on vérifie que le délai est à 8 $this->assertEquals("8", $this->byId('delai')->text()); // on vérifie la date de complétude $this->assertEquals(date("d/m/Y"), $this->byId('date_complet')->text()); // on vérifie la date de limite de l'instruction $date_limite = $this->mois_date(date("Y-m-d"), 8, "+"); $date_limite = date("d/m/Y", strtotime($date_limite)); $this->assertEquals($date_limite, $this->byId('date_limite')->text()); // On se deconnecte $this->logout(); } /** * Test l'incomplétude sur un dossier d'instruction en ajoutant une date de * retour AR dépassée */ public function testIncompletudeDelaiDepasse() { /** * Création d'un dossier d'instruction */ // 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"); // 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()); // Récupération du numéro de dossier preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches); $dossier_libelle = $matches[0]; $dossier = str_replace(' ', '', $dossier_libelle); $dossier_dir = substr_replace($dossier, '.', -2, -3); // On se déconnecte $this->deconnect(); /** * Envoi d’un courrier de majoration de délai pour consultation ABF */ // on se connecte à l'application $this->login("instr", "instr"); // On clique sur le menu $this->byLinkText("Recherche")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); // On clique sur le résultat $this->byLinkText($dossier_libelle)->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); /** * Envoi notification de pièces manquantes */ // On clique sur l'onglet instruction $this->byId("instruction")->click(); // On clique sur le + pour ajouter une instruction $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click(); // On choisi l'événement "Notification de pieces manquante [rejet]" $this->select($this->byId("evenement"))->selectOptionByValue("2"); // On clique sur le bouton ajouter $this->byXPath("//input[@value='Ajouter']")->click(); // On vérifie que l'instruction s'est bien ajouté $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur le bouton retour $this->byCssSelector("#sousform-instruction form a.retour")->click(); //On récupère le numéro de l'instruction créée $this->byLinkText("Notification de pieces manquante")->click(); $idInstrIncompletude = $this->byCssSelector(".form-content #instruction")->text(); // Finalisation du document $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click(); // On vérifie le message de validation $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur l'onglet DI $this->byId("main")->click(); // on rafraichis la page $this->refresh(); // On vérifie que l'état du dossier $this->assertEquals("dossier incomplet", $this->byId('etat')->text()); // On se deconnecte $this->deconnect(); /** * Retour de l’AR incomplétude */ // on se connecte en tant que suivi $this->login("suivi", "suivi"); // On clique sur le menu $this->byLinkText("Mise À Jour Des Dates")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // on choisit le type de mise à jour $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar"); // on choisit la date $this->byId("date")->value(date("d/m/Y", strtotime('+1 month 2 days'))); // on rentre le code barre $this->byId("code_barres")->value("11".str_pad($idInstrIncompletude, 10, '0', STR_PAD_LEFT)); // on clique sur le bouton valider $this->byName("validation")->click(); // on vérifie que la mise à jour est pour le bon évenement $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text()); // on clique encore sur le bouton valider $this->byName("validation")->click(); // on vérifie que la mise à jour est faite $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text()); // On se deconnecte $this->deconnect(); /** * Dépôt de pièces complémentaires */ // on se connecte à l'application $this->login("instr", "instr"); // On clique sur le menu $this->byLinkText("Recherche")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); // On clique sur le résultat $this->byLinkText($dossier_libelle)->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'est pas dans un état incomplet notifié $this->assertFalse($this->byId('date_limite_incompletude')->displayed()); $this->assertFalse($this->byId('delai_incompletude')->displayed()); $this->assertEquals("dossier incomplet", $this->byId('etat')->text()); // On se deconnecte $this->logout(); } /** * Test des dates affichées en fonction de l'état du dossier */ public function testVerificationDateLimiteAffichee() { /** * Création d'un dossier d'instruction */ // 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"); // 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()); // Récupération du numéro de dossier preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches); $dossier_libelle = $matches[0]; $dossier = str_replace(' ', '', $dossier_libelle); $dossier_dir = substr_replace($dossier, '.', -2, -3); $dossier_autorisation_libelle = substr($dossier_libelle, 0, -2); $dossier_autorisation = substr($dossier, 0, -2); // On se déconnecte $this->deconnect(); /** * On vérifie les dates affichées si ce n'est pas une incomplétude */ // on se connecte à l'application $this->login("instr", "instr"); // On clique sur le menu $this->byLinkText("Autorisation")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le menu sleep(2); $this->byLinkText("Dossiers D'autorisation")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché sleep(2); $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->clear(); $this->byId("dossier")->value($dossier_autorisation); $this->byId("adv-search-submit")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le résultat $this->byLinkText($dossier_autorisation_libelle)->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); //On clique sur l'onglet Dossiers D'instruction // On clique sur l'onglet instruction $this->byId("dossier_instruction")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); //On vérifie la date affiché $this->assertEquals(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),2))), $this->byCssSelector("#sousform-dossier_instruction tbody .col-7 a")->text()); // On clique sur le menu $this->byLinkText("Instruction")->click(); // On clique sur le menu $this->byLinkText("Recherche")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); /** * Date du tableau des DI */ //On vérifie la date affichée $this->assertEquals(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),2))), $this->byCssSelector("#formulaire tbody .col-7 a")->text()); // On clique sur le résultat $this->byLinkText($dossier_libelle)->click(); /** * Date dans l'affichage des DI */ // On vérifie que la date affichée est toujours la date limite initiale $this->assertFalse($this->byId('date_limite_incompletude')->displayed()); // On vérifie que la date affichée est toujours la date limite initiale $this->assertTrue($this->byId('date_limite')->displayed()); /** * Date dans la visualisation de la demande d'avis */ // On clique sur l'onglet instruction $this->byId("consultation")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le lien "Ajouter" dans le tableau $this->byId("action-soustab-consultation-corner-ajouter")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On sélectionne le service "59.07 Service de l' Espace Public" $this->select($this->byId("service"))->selectOptionByValue("7"); // On clique sur le bouton "Ajouter" du formulaire $this->byXPath("//input[@value='Ajouter']")->click();sleep(1); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On se deconnecte $this->deconnect(); // on se connecte à l'application $this->connect("consu", "consu"); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byCssSelector(".adv-search-widget .champFormulaire")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le résultat $this->byLinkText($dossier_libelle)->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On vérifie la date $this->assertEquals(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),2))), $this->byId('dossier_date_limite')->text()); // On se deconnecte $this->deconnect(); /** * Envoi notification de pièces manquantes */ // on se connecte à l'application $this->login("instr", "instr"); // On clique sur le menu $this->byLinkText("Recherche")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); // On clique sur le résultat $this->byLinkText($dossier_libelle)->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur l'onglet instruction $this->byId("instruction")->click(); // On clique sur le + pour ajouter une instruction $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click(); // On choisi l'événement "Notification de pieces manquante [rejet]" $this->select($this->byId("evenement"))->selectOptionByValue("2"); // On clique sur le bouton ajouter $this->byXPath("//input[@value='Ajouter']")->click(); // On vérifie que l'instruction s'est bien ajouté $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur le bouton retour $this->byCssSelector("#sousform-instruction form a.retour")->click(); //On récupère le numéro de l'instruction créée $this->byLinkText("Notification de pieces manquante")->click(); $idInstrIncompletude = $this->byCssSelector(".form-content #instruction")->text(); // Finalisation du document $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click(); // On vérifie le message de validation $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text()); // On clique sur l'onglet DI $this->byId("main")->click(); // on rafraichis la page $this->refresh(); // On vérifie que l'état du dossier $this->assertEquals("dossier incomplet", $this->byId('etat')->text()); // On se deconnecte $this->deconnect(); /** * Retour de l’AR incomplétude */ // on se connecte en tant que suivi $this->login("suivi", "suivi"); // On clique sur le menu $this->byLinkText("Mise À Jour Des Dates")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // on choisit le type de mise à jour $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar"); // on choisit la date $this->byId("date")->value(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),1)))); // on rentre le code barre $this->byId("code_barres")->value("11".str_pad($idInstrIncompletude, 10, '0', STR_PAD_LEFT)); // on clique sur le bouton valider $this->byName("validation")->click(); // on vérifie que la mise à jour est pour le bon évenement $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text()); // on clique encore sur le bouton valider $this->byName("validation")->click(); // on vérifie que la mise à jour est faite $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text()); // On se deconnecte $this->deconnect(); /** * On vérifie les dates affichées si c'est une incomplétude */ // on se connecte à l'application $this->login("instr", "instr"); // On clique sur le lien "Autorisation" dans le menu $this->byCssSelector(".autorisation-20")->click(); sleep(2); // On clique sur le lien "Dossiers D'autorisation" dans le menu $this->byCssSelector(".dossier_autorisation-16")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché sleep(2); $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->clear(); $this->byId("dossier")->value($dossier_autorisation); $this->byId("adv-search-submit")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le résultat $this->byLinkText($dossier_autorisation_libelle)->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur l'onglet instruction $this->byId("dossier_instruction")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); //On vérifie la date affiché $this->assertEquals(date("d/m/Y", strtotime($this->mois_date($this->mois_date(date('Y-m-d'),1),3))), $this->byCssSelector("#sousform-dossier_instruction tbody .col-7 a")->text()); // On clique sur le menu $this->byLinkText("Instruction")->click(); // On clique sur le menu $this->byLinkText("Recherche")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byId("dossier")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); /** * Date du tableau des DI */ //On vérifie la date affichée $this->assertEquals(date("d/m/Y", strtotime($this->mois_date($this->mois_date(date('Y-m-d'),1),3))), $this->byCssSelector("#formulaire tbody .col-7 a")->text()); // On clique sur le résultat $this->byLinkText($dossier_libelle)->click(); /** * Date dans l'affichage des DI */ // On vérifie que la date affichée est toujours la date limite initiale $this->assertTrue($this->byId('date_limite_incompletude')->displayed()); // On vérifie que la date affichée est toujours la date limite initiale $this->assertFalse($this->byId('date_limite')->displayed()); // On se deconnecte $this->deconnect(); /** * Date dans la visualisation de la demande d'avis */ // on se connecte à l'application $this->connect("consu", "consu"); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On recherche le dossier crée $this->byCssSelector(".adv-search-widget .champFormulaire")->value($dossier); // On clique sur le bouton recherche $this->byId("adv-search-submit")->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On clique sur le résultat $this->byLinkText($dossier_libelle)->click(); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifyNoErrors(); // On vérifie la date $this->assertEquals(date("d/m/Y", strtotime($this->mois_date($this->mois_date(date('Y-m-d'),1),3))), $this->byId('dossier_date_limite')->text()); // On se deconnecte $this->logout(); } } ?>